2011-07-04 8 views
2

私はジオメトリシェーダにmarching cube algorythmを実装しようとしています。だから私はTexture3Dに自分のDataGridを配置します。今私は、ジオメトリシェーダでデータを見てみたいと、このtrowsにエラーがHLSLジオメトリシェーダテクスチャルックアップ

これは彼がエラー、私は願っています

cubeVale[0] = dataFieldTex.Sample(samPoint, float3(k, j, i)).a; 

をtrowsコード行が「命令セットをgs_4_0する式をマップすることはできません」誰かがここで私を助けることができます。

TY

答えて

3

サンプル()のみが自動的にテクスチャ座標の導関数を取ることによって使用するミップマップのLODを計算するため、ピクセルシェーダで動作し、及び誘導体はピクセルシェーダでのみ利用可能です。

MSDNにはlist of texture object methods and the shader profiles they work inがあります。 gs_4_0プロファイルでは、Load()、SampleLevel()またはSampleGrad()を選択できます。特に、Texture3Dにミップレベルが1つしかない場合は、SampleLevel()が必要です。