|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 06.12.2003, 23:52 Titel: Colorkey ? |
|
|
Hab mal ein paar Fragen:
1. Macht der Colorkey von D3DXCreateTextureFromFile()
wirklich nur alle Farben in Schwarze Pixel?
2. Wenn ja, warum macht er Schwarze Pixel dann Transparent?
3. Wie kann ich trotzdem andersfarbige Colorkeys transparent machen
und nicht durch schwarze Pixel ersetzen ? _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 07.12.2003, 00:03 Titel: |
|
|
1. Macht der Colorkey von D3DXCreateTextureFromFile()
wirklich nur alle Farben in Schwarze Pixel?
naja hab ich mitlerweile ürgendwo im 2. Buch nachgelesen, ja macht es
2. Wenn ja, warum macht er Schwarze Pixel dann Transparent?
hab ich immern och net gelöst
3. Wie kann ich trotzdem andersfarbige Colorkeys transparent machen
und nicht durch schwarze Pixel ersetzen ?
Dies hab ich auch mitlerweile verstanden:
D3DFMT_A8R8G8B8 = Transparente Pixel
D3DFMT_X8R8G8B8 = schwarze
D3DFMT_unknown = schwarze
richtig ? _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 12.02.2004, 10:12 Titel: |
|
|
Der Colorkey von D3DXCreateTextureFromFileEx() ersetzt die angegebene Farbe (wobei glaube ich der Alphawert nicht berücksichtigt wird) durch 0x00000000 (transparentes Schwarz). |
|
Nach oben |
|
|
Necromancer Mini JLI'ler
Anmeldedatum: 26.02.2004 Beiträge: 1 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 26.02.2004, 13:29 Titel: |
|
|
Hallo,
das Problem ist eigentlich ganz einfach zu lösen. Als erstes solltest Du die Funktion D3DXCreateTextureFromFileEx benutzen. Sind zwar mehr Parameter aber man kann unter anderen einen Colorkey angeben. Das ist die Farbe, die beim Rendern transparent dargestellt werden soll. Alle weiteren Parameter siehe einfach SDK .
Mit folgender Befehlsfolge bekommst Du nun das Alphablending initialisiert.
Code: |
m_pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
m_pDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
m_pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
|
m_pDevice ist dabei der Pointer auf das Device. Die drei Befehle müssen nur bei der Initialisierung des Engines einmal aufgerufen werden.
Das war es dann auch schon.
Viele Grüße Necro _________________ Ein Ring sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|