JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7b5813afb4d2c884c2fe51bfd66a4a65Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Colorkey ?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 06.12.2003, 23:52    Titel: Colorkey ? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 07.12.2003, 00:03    Titel: Antworten mit Zitat

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 ? Rolling Eyes
_________________
"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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 12.02.2004, 10:12    Titel: Antworten mit Zitat

Der Colorkey von D3DXCreateTextureFromFileEx() ersetzt die angegebene Farbe (wobei glaube ich der Alphawert nicht berücksichtigt wird) durch 0x00000000 (transparentes Schwarz).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Necromancer
Mini JLI'ler



Anmeldedatum: 26.02.2004
Beiträge: 1
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 26.02.2004, 13:29    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum