Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Klaus

Treue Seele

  • »Klaus« ist der Autor dieses Themas

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

1

09.05.2004, 16:59

Problem mit Sprites (AlphaBlending / Effektdatei)

Hallo!

Also ich bastel grade an nem 3D-Snake für 1-2 Spieler und hab dabei ein Problem:

Ich will die Schlangenelemente als Sprites rendern, aber mit dem Alpha-Blending will das noch nich so recht klappen:


(Link)


Im oberen Viewport sieht man die Sprites gut, aber sie sind etwas transparent. Der ColorKey ist schwarz (= standard in der TBEngine), aber ich denke, dass der nicht den "Schwarzanteil" einer Farbe beachtet, sondern nur komplett schwarze Texel, nöe?

Der Effekt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
TEXTURE Texture;

TECHNIQUE T1
{
    PASS P1
    {
        Texture[0]      = <Texture>;
        ZEnable         = True;
        ZWriteEnable        = False;

        AlphaOp[0]      = SelectArg1;
        AlphaArg1[0]        = Texture;

        AlphaBlendEnable    = True;
        SrcBlend        = SrcAlpha;
        DestBlend       = One;

        Lighting        = False;
        CullMode        = None;
    }
}


Ich will ja nur, dass das schwarze außenrum...


(Link)


...entfernt wird. Und da das ja ne BMP Datei ist, die keinen Alpha Channel hat, frag ich mich, wo denn der Rest vom Alpha Wert her kommt.
im unteren Viewport ist ja nur noch bei genauem Hinsehen ein weißer Schatten von dem zu sehen, was eigentlich blau sein sollte.
Das ließe mich nun annehmen, dass nicht nur der Alphawert, sondern auch der Farbwert verändert wird. Aber wenn ich

Quellcode

1
2
        ColorOp[0]      = SelectArg1;
        ColorArg1[0]        = Texture;


benütze, ändert sich *nichts*!

Was mach ich denn nun falsch?

Hoffe, ihr könnt mir helfen! :)

bye
Klaus
Mozilla Firefox
The Browser - reloaded