[D3D10] Vertex-Texturen mit vs_4_0
Verfasst: 14.03.2010, 15:04
Hi Leute,
folgendes Problem: ich möchte im Vertex Shader auf eine Vertex-Textur zugreifen, in der im R32_FLOAT-Format Höhendaten zwischen 0 und 1 für ein Terrain gespeichert sind. Sämtliche HLSL-Beispiele mit Vertex-Texturen, die ich finden konnte, sind jedoch aus der Direct3D9-Zeit (vs_3_0). Sampler States sind nun nicht mehr an Texturen gebunden und z. B. anstatt mit tex2D(...) wird mit [textur].Sample(...) auf Texturen zugegriffen. Im Pixel Shader kann ich so ohne Probleme auf die Textur zugreifen und das platte Terrain zumindest einfärben. Im Vertex Shader meckert der Compiler jedoch:
error X4532: cannot map expression to vs_4_0 instruction set
Die betreffende Zeile im Vertex Shader zur Übersicht vereinfacht:
float y = vertexTexture.Sample(ssVertexTexture, float2(0.0f, 0.0f)).r;
Und hier noch ein paar Zusatzinformation falls benötigt:
Texture2D vertexTexture;
SamplerState ssVertexTexture { Filter = MIN_MAG_MIP_POINT; };
Wie gesagt, die selbe Zeile funktioniert im Pixel Shader. Hilfe! :?
folgendes Problem: ich möchte im Vertex Shader auf eine Vertex-Textur zugreifen, in der im R32_FLOAT-Format Höhendaten zwischen 0 und 1 für ein Terrain gespeichert sind. Sämtliche HLSL-Beispiele mit Vertex-Texturen, die ich finden konnte, sind jedoch aus der Direct3D9-Zeit (vs_3_0). Sampler States sind nun nicht mehr an Texturen gebunden und z. B. anstatt mit tex2D(...) wird mit [textur].Sample(...) auf Texturen zugegriffen. Im Pixel Shader kann ich so ohne Probleme auf die Textur zugreifen und das platte Terrain zumindest einfärben. Im Vertex Shader meckert der Compiler jedoch:
error X4532: cannot map expression to vs_4_0 instruction set
Die betreffende Zeile im Vertex Shader zur Übersicht vereinfacht:
float y = vertexTexture.Sample(ssVertexTexture, float2(0.0f, 0.0f)).r;
Und hier noch ein paar Zusatzinformation falls benötigt:
Texture2D vertexTexture;
SamplerState ssVertexTexture { Filter = MIN_MAG_MIP_POINT; };
Wie gesagt, die selbe Zeile funktioniert im Pixel Shader. Hilfe! :?