DirectXの定数バッファを理解するのに苦労しています。私は一定のバッファがスロット(ゼロに割り当てる必要があることを理解http://msdn.microsoft.com/en-gb/library/windows/desktop/bb509581(v=vs.85).aspxshader constant-buffersの使い方は?
に説明するよう2つの構文
float4 myVar;
シェーダファイルのトップレベルで宣言
と
cbuffer myBuffer
{
float4 myVar;
}
を見てきましたベースのインデックス作成)、コードで設定することができます。
私が見てきた2つのフレームワーク(SlimDXとSharpDX)は、SlimDXを文字列名(Shader reflection?)で、SharpDXをスロット番号で設定しています。から得られる?
2つのシンタックスが実際に異なる場合、.fxファイル内の宣言にどのようにスロット番号が割り当てられ、どのようにスロット番号がシェーダ間で共有されるのかについては、誰でも明らかにすることができますか?
すべてのヘルプは、あなたが参照しているドキュメントは、純粋なD3DシェーダモデルAPIのある
ありがとうございます - それがOKなら1つのフォローアップ - あなたはここで効果フレームワークが遺産であると言います - それは効果も11も避けなければならないのでしょうか? http://msdn.microsoft.com/en-us/library/windows/desktop/ff476136(v=vs.85).aspx(http://blogs.msdn.com/b)に記載されているのを見ることができません。 /chuckw/archive/2012/10/24/effects-for-direct3d-11-update.aspxには、主にEffects 10からの移植が容易になるように用意されていることが記載されています。その使用を一切スキップすることを推奨していますか? – AnonDev
Effects11/Effects/FXファイルは廃止されており、もはやMicrosoftによって維持されていません(そのため、Effects11全体は古いDirectX June 2010 SDKまたはブログ記事からのみアクセス可能です)。したがって、Direct3Dの次の機能をサポートするために、これらの機能を改善することはありません。また、Windows RTアプリケーションから使用することもできません。 – xoofx