DirectX 画像を斜めに投影してアニメーションする
背景
車の疾走感を車窓画像をPCからプロジェクタで投影するプログラムを実装してみました。
開発環境
- Visual Studio 2019 Community
- DirectX 9
- C/C++
- Windows10
仕様
- 静止画像ファイルを任意に設定し、斜めに投影されて横スクロールを繰り返す。
- プロジェクタで斜めの我部に投影するため、壁に近い手前側を暗いグラデーション処理して、遠くの壁との明るさを調整できるようにする。
- マルチディスプレイで、左窓、右窓の画像をアニメーションする。
- 速度を外部からコントロールできるようにする。
完成後のイメージ動画
技術的な話
- 3D空間に同じ2D画像を複数枚張り付けています。これは、カメラを移動した際に画像の切れ間が見えてしまうことを防ぐためです。
- カメラを斜めに見て、カメラを移動させます。一定距離、カメラが移動したら初期ポイントに戻る事でループするスクロールを実現しています。
- 暗くなるグラデーションは、静止画を描画したあとにその上からいくつかの四角い頂点データーを張り付けて、アルファブレンド処理しています。グラデーション頂点データーもカメラ移動と同時に移動すれば、静止画が動いているように見えるます。
- 技術的なキーワード
- #テクスチャ
- #頂点データー
- #アルファブレンド
- #アルファブレンディング
- #ポリゴン