« 圧縮テクスチャ | メイン | krmovie.dll のビルド手順 »

2007年03月31日

吉里吉里 ムービー拡張日誌2:: アルファ付きムービーの再生

    

無圧縮 AVI などでアルファ付きならアルファ付きで描画されるはずと思っていたが、やってみるとアルファ情報は消えていた。
レイヤーモード用のレンダーフィルタのソースを見ると、MEDIASUBTYPE_RGB32 のみ受け付けるようになっていた。
そこで、MEDIASUBTYPE_ARGB32 も受け付けるようにしてみた。
対応した krmovie.dll はこちら
指定するレイヤーのタイプは、videoLayer.type = ltAlpha のようにアルファを有効にする必要がある。
ltOpaque などになっていると透けない。

無圧縮だとファイルサイズがすごいことになるので、配布用に使うのは難しい。
アルファチャンネルをサポートしたフォーマットはいくつかあるようだけど、今すぐ使える形式では見当たらない。
Indeo Videoもアルファチャンネルをサポートしているっぽい記述を見かけたが、試していないのでわからない。
サポートするならアルファチャンネルのみを持ったムービーファイルを作って、それをアルファチャンネルへ書き込むのが確実だろうか?
レンダーフィルタの前にアルファを合成するインプレイスフィルタを作って、それを間に挟んで、入力ピンの片方にアルファチャンネルムービーを渡せば出来るはず。
でも、何に使うのが効果的だろうか?

効果的な使い方があったらサポートを考えてもいいけど、今のところ効果的な使い方が思い付かない。



投稿者 Takenori : 2007年03月31日 15:04




comments powered by Disqus
Total : Today : Yesterday : なかのひと