Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: DirectX9 - Alphachannel einer Textur überschreiben

  Alt 21. Jan 2010, 17:27
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)
  Mit Zitat antworten Zitat