2016-09-09 5 views
0

私はhlslシェーダのバッファにデータを書き込もうとしています。私はOpenGLでssboが必要だと知っていますが、direct11には対応するバッファタイプがありますか?(私はそれが初めてです)。direct11ピクセルシェーダのバッファにデータを書き込みますか? (開いているssboのような)

P.S.私はモノゲームを使用しているので、最新のシェーダモデルは3.0です。

ありがとうございました!

答えて

1

シェーダモデル3は、DirectX 9アーキテクチャに対応しています。次のようにこのアーキテクチャはなります

DX9 Pipeline

(出典:https://msdn.microsoft.com/en-us/library/windows/desktop/bb219679(v=vs.85).aspx

ご覧のとおり、ピクセルシェーダからの1つの出力だけが存在します。この出力は、カラーまたはデプスの値にすることができ、レンダーターゲットにレンダリングされます。したがって、DX9には方法がありません。次のように

はDX10(SM 4)では、パイプラインが見える:

DX10 pipeline

出典:https://msdn.microsoft.com/en-us/library/windows/desktop/bb205123(v=vs.85).aspx

再び、ピクセルシェーダの出力は、色及び深さです。どちらもDX10にはありません。

最後に、DirectX 11の(SM 5):

DX11 pipeline

出典:https://msdn.microsoft.com/en-us/library/windows/desktop/ff476882(v=vs.85).aspx

今すぐメモリリソースへのピクセルシェーダからの方法があります。必要とするバッファタイプはRWBufferです。

+0

merci beaucoup、私はまずテクスチャにレンダリングしてから、いくつかの処理をしなければならないと思います。 – sunsflower

関連する問題