4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VVVVAdvent Calendar 2014

Day 11

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?