私は現時点でDX9/SM3で作業していますが、HLSL samplersのMSDNドキュメントには、さまざまなサンプラーの種類の使い方が説明されていないようです。さらに悪いのは、それらが単一の記事でDX9とDX10をカバーしようとしているので、彼らは一緒にすべてのキーワードまぜこぜ:HLSLサンプラーのタイプはどれくらい異なりますか?
サンプラー名を = SamplerType {テクスチャ= < texture_variable>。 [state_name = state_value;] ...};
...
SamplerType
以下のいずれかであるサンプラタイプ、[IN]:サンプラー、sampler1D、sampler2D、 サンプラー3D,サンプラーCUBE,サンプラー状態,サンプラー状態。 Direct3Dの9とDirect3D 10の間
違い:SamplerComparisonState:
Direct3Dの10つの追加のサンプラ・タイプをサポートします。
私は、この文書に反し、SamplerState
だけDX10であること感覚を得ます。ほぼすべてのコードは、のサンプラータイプにsampler_state
を使用しています。 BasicHLSL(DX9)からの簡単な例:
sampler MeshTextureSampler =
sampler_state
{
Texture = <g_MeshTexture>;
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
};
がなぜ、すべての異なる_SamplerType_sが存在しないと、あなたが使用する際に、言う、代わりにsampler_state
のsampler
またはsampler2D
?何かを取得するときは明示的にする必要があります。 tex2D
、texCUBE
、ここで何が起こっていますか?
警告:[email protected]は積極的に監視されていません。 – Goz
それを知りませんでした、ありがとう。まあ、私も評価し、問題の記事にフィードバックを提供したので、おそらくうまくいくでしょう。 – Tchami
ありがとう、私はそれを失っていないとうれしい。私は古いDX9 CHMを見つけ出しました。 DX9はサンプラー配列もサポートしていますが、MSDNのページではそれを知らないでしょう。 –