ムービー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
amu

ムービー

#1

投稿記事 by amu » 15年前

ムービーを表示したその上から違う画像を表示することはできますか?
もし出来るのならサンプルプログラムもお願いします。

簡単な質問でスイマセン。

amu

Re:ムービー

#2

投稿記事 by amu » 15年前

編集キー忘れたのでこちらで追記します。

目的は、シューティングなどの背景をムービーで表現したいと思いまして・・・
重くなるのはわかるのですが実験としてやってみたいと思っています。

御津凪

Re:ムービー

#3

投稿記事 by 御津凪 » 15年前

技術的に問題ないのであれば「可能」です。

しかし、方法は環境によりますので、下記は期待に添える内容かどうかはわかりません。
(自身でサンプルプログラムを書くのは時間的に無理です)

環境が Windows XP 以降、DirectX9 であれば、DirectShow を利用してムービーを再生・表示しながらムービー以外を描画することができます。
(DXライブラリであれば、リファレンスを熟読すればできるかと思います)

下記に大まかな方法を書いておきます。

・DirectShow のカスタムレンダラを用意する。
・そのカスタムレンダラは、 DirectX9 のテクスチャに転送させる。
・そのテクスチャを背景に描画する

上記ができればムービーをテクスチャ代わりに出来るので、いろいろと自由に扱えるはずです。

なお、上記の方法を行っている処理のサンプルプログラムと解説が下記リンクに掲載されてます。

http://www.shader.jp/xoops/html/masafum ... how001.htm

なお、ムービーの形式やサイズなどのよりますが、再生中は10%程度(あるいはそれ以上)のCPU負荷が掛かります。

Dixq (管理人)

Re:ムービー

#4

投稿記事 by Dixq (管理人) » 15年前

可能ですし、サンプルプログラムを見るほどの事ではないですよ。

ただ、動画の描画関数の後で画像の描画関数を書けばいいだけです。(合計2行)
書いた順番に描画されるので、後に書いたものが上にきます。

このHPで公開しているゲームAerobeatはまさに動画の上にゲーム画像を描画しています。
(参考)[nico]http://www.nicovideo.jp/watch/sm8808750[/nico]

少し昔までは動画を背景にするなんて考えられませんでしたが、
最近のPCでは割とまともに動きます。
スペックが低いPCで処理落ちする事を覚悟の上であれば採用するのもありかもしれません。

閉鎖

“C言語何でも質問掲示板” へ戻る