In een notendop; ik probeer een sprite object op het scherm te krijgen met het gebruik van de draw functie van DirectX/Direct3D. Dit lukt ook wel, maar de alpha wordt als 'zwart' getekend. Momenteel heb ik deze code (ik pak alleen even het stuk waarbij ik Sprite.Draw gebruik):
Andere opties om ipv Color. te zetten, zoals '16777215' (volgens de API zal het dan de kleur + alpha van het texturebestand gebruiken), werken ook niet.
Hiervoor staat momenteel ook nog:
Maar dit maakt geen enkel verschil. Het maakt qua resultaat niet uit of dit erbij staat of niet.
Enig idee waar het aan kan liggen, en hoe het op te lossen is? Heb al vrij veel sites bekeken en oplossingen geprobeert, maar niks werkt.
code:
1
2
3
| S.Begin(SpriteFlags.AlphaBlend); S.Draw(hudTexture[0], new Rectangle(), new Vector3(0, 0, 0), new Vector3(0, 0, 0), Color.White); S.End(); |
Andere opties om ipv Color. te zetten, zoals '16777215' (volgens de API zal het dan de kleur + alpha van het texturebestand gebruiken), werken ook niet.
Hiervoor staat momenteel ook nog:
code:
1
2
3
4
5
6
7
8
| device.RenderState.AlphaBlendEnable = true; device.RenderState.SourceBlend = Blend.SourceAlpha; device.RenderState.AlphaSourceBlend = Blend.One; device.RenderState.DestinationBlend = Blend.InvSourceAlpha; device.RenderState.AlphaDestinationBlend = Blend.InvSourceAlpha; device.RenderState.AlphaTestEnable = true; device.RenderState.ReferenceAlpha = 0; |
Maar dit maakt geen enkel verschil. Het maakt qua resultaat niet uit of dit erbij staat of niet.
Enig idee waar het aan kan liggen, en hoe het op te lossen is? Heb al vrij veel sites bekeken en oplossingen geprobeert, maar niks werkt.