Ich bin mir grad unsicher ob mit dem Target PS2.0 swizzling schon geht, und ob es der Compiler nicht eh schon so weit einstampft (die Shader-Compiler sind echt beneidenswert was Optimierungen angeht!), aber evtl. ist folgendes noch einen Tacken performanter (auch wenn es hier vermutlich um einen Unterschied von 1000FPS zu 1100FPS gehen wird
- wenn überhaupt):
Code:
float4 PixScene(VertexShaderOutput input) : COLOR0
{
return float4(tex2D(textureSampler1, input.texC).rgb, tex2D(maskSampler, input.texC).a);
}
Ich meine rgba ist die richtige Reihenfolge, vertu mich da aber auch gerne mal. Evtl. ist es auch argb, wobei's mich wundern tät
Und Achtung! Spätestens ab Shader-Model 3 (
DirectX 9) kannst du keinen Pixelshader mehr ohne Vertexshader betreiben - zumindest sieht das der Standard vor, manche Karten schlucken's sogar. Ab DX10 (SM4) gibt's dann überhaupt keine Fixed-Function Pipeline mehr, und Vertex- und Pixelshader sind obligatorisch. Das Thema lohnt sich also im Großen und Ganzen wenn man in dem Bereich noch mehr vor hat.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)