音声ファイルを読みだして、それをもとに動画生成するというところから脇道にそれているが、できたらいいなとか考えていることを列挙してみる。
- 基盤地図情報を基にして富士山画像を生成する
-
国土地理院が公開している基盤地図情報データの標高データを使用してハイトマップを作り、富士山をレンダリングしようかなと思っている。レンダリング結果をSkybox用のキューブマップにして背景画像にしてみたりとかもしてみようかなと思っている。
地形データがXMLであるのでそれを取り込むライブラリをどれを使おうかなと考えている。C++だと昔からあるXercesを使ったりするのが普通なのだろうか。xmlliteとかあったけどもう廃れたのであろうか。Win8だとWindows RuntimeにIXmlReaderとかIXmlWriterとかあるからそれを使うのが普通かな。boostでもProptery TreeでXMLのパースができるみたいなのでそれを使ってみるのもいいかな。いずれにしろC++で文字ベースのデータフォーマットを扱うのは面倒だ。
- ID3D11Bufferまわりのコードの整理・ヘルパークラスの作成
- ID3D11Buffer周りのコードはとても手続きが面倒でコードも長くなりがちである。ほとんどが単なるGPU<-->CPU間のメモリ転送コードであるのだが書くのが面倒くさい。ほとんど同じコードなのだが型が違うとかくらいの差なのでここはテンプレートで抽象化すればかなり簡潔に書けそうな気がする。のでちょっと作ってみようかなと思っている。
- SIMDの積極的な利用
- ベクトルの演算はSIMDを利用したほうが効率的に処理できるシーンがかなりあると思う。DirectX MathとかXybakとかを積極的に使って効率化できたらいいなと思っている。Expression Templateとかつかってうまく式を見栄えよく最適化できればいいなとかとも思う。
- シーケンス・エディタ
- 音声だけでなく動画を生成するシーンも含めてシーケンスできるエディタがあればいいなぁといつも思っている。Blenderのアニメーションエディタのようなもの。でもこれを作るにはもっともっと実装技術の積み上げが必要なので夢レベルである。
- 動画像を音声でエフェクトをかける
- これはもともとやりたかったことであるけれども、想像以上に理論や技術的蓄積が私には必要で難航しているのはご承知の通りである。
今のところ大きいもの、小さいものを含めてこんなところだろうか。