Hallå! Hmm, jag vågar inte svara på vad det här kan bero på, vad är ditt andra kort för något, så kanske vi kan jämföra "capabilities"?Misshandla fram FärgFilter, alternativt AlphaBlend
Ni som är lite erfarna av DX kan säkert detta.
Jag vill helt enkelt kunna använda alphablend.
Anledningen till att jag använder order misshandla är för att
jag experimenterat fram det mesta. Hade från början en 3D-tutorial men jag skulle bara använda 2D
så det blev till att pussla.
Till sak:
För att använda ett färgfilter så har jag dessa inställningarna:
D3D.TextureState(0).
.ColorOperation = TextureOperation.Modulate
.ColorArgument1 = TextureArgument.TextureColor
.ColorArgument2 = TextureArgument.Constant
.AlphaArgument1 = TextureArgument.TextureColor
.AlphaArgument2 = TextureArgument.Diffuse
.ConstantColor = Färg
D3DDev.RenderState.SourceBlend = Blend.SourceAlpha
D3DDev.RenderState.DestinationBlend = Blend.InvSourceAlpha (kanske finns något lämpligare?)
Sen ritar jag ut det genom att placera en VertexBuffer på stället jag vill ha bilden och köra DrawPrimitive().
(har aldrig läst en bok om DX då jag inte har någon, så jag beskriver kanske lite/mycket fel)
Självklart händer det lite mer än det, och det funkar utmärkt, dock bara på nya grafikkort.
jag har flera gånger upplevt att gamla kort(främst ATi) inte har så mycket förinställt(eller fel inställt) vid exekvering. Har letat sönder mig på google och diverse forum men inte hittat vilken inställning som kan tänkas fattas.
Datorn som det inte funkar på har ett RADEON 9200 och där blir det helt svart. Men ändrar jag:
.ColorArgument2 = TextureArgument.Constant
till
.ColorArgument2 = TextureArgument.Diffuse
så funkar det som smort, den använder dock inte färgen TextureArgument.Constant vid "blandandet".
Någon som ser vad som fattas/är fel?
Detta skulle hjälpt oerhört mycket,
Tack på förhand!Sv: Misshandla fram FärgFilter, alternativt AlphaBlend
Mvh