LoginSignup
4
5

More than 5 years have passed since last update.

DX11RendererからDX9Rendererに書き出したい

Posted at

みなさんが、Advent Calendarでガッツリ長文を書いてる中、
申し訳ないという気持ちもありつつ、
DX11のRendererからDX9のRendererにTextureとして
吐き出すという小ネタを紹介しようと思います。
ついでに、DX9からDX11の書き方も紹介しておきます。

DX9→DX11

DX9→DX11は「DX9ToDX11」のノードがあるので、
Textureは、簡単に吐き出すことができます。
1.DX9 Texture:RendererからTextureとして吐き出す
2.DX9ToDX11:DX9からDX11用のTextureへ変換
3.通常通りTextureとして使用する。
という流れになります。
DX9toDX11.v4p

dx9_dx11.JPG

DX11→DX9

DX11からDX9へ書き出す方法です。
SharedTextureノードを見たところ、欲しいデータがとってこれそうだった、
Renderer(DX11 MRT)を使用し、以下のように作ってみました。

MRTはMulti Renderer Targetっていうみたいですが、
詳しいことは調べてみてください。(理解できてないとは言えない。)

フォーマットはR16G16B16A16_Floatに統一し、
得られている情報をVector、AsSharedTextureで処理しています。
あとRenderer(DX11 MRT)は、Previerwがそのままできないので、
Preview(DX11 Texture)を使うと良いかと思われます。

DX11_DX9_1.JPG

DX11ToDX9_sample.v4p

具体的な使用例

vvvvではサンプルパッチを見つつ、改変しつつということが多いと思われます。
なので、以下の画像のように、
S(NODE)、R(NODE)を利用することで、別パッチから送ることができます。
基礎すぎかもしれませんが…参考までに。

dx11_DX9_2.JPG


なぜDX11からDX9に書き出したいのか…
たしか、kinect v2とかからのものをTextureとしてだったかな?
正直忘れました。←

何か、使う機会があったら、試してみてください。
小ネタでした。

Junky_Inc

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5