Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 19.07.2005, 13:16 Titel: Colorkeying selfmade |
|
|
CPP: | for(int y=0; y<Header2.biHeight; ++y)
{
//die reihen durchgehen:
for(int x=0; x<Header2.biWidth; ++x)
{
//blau:
*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+0)=pData[(3*(y*Header2.biWidth+x))+2];
//grün
*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+1)=pData[(3*(y*Header2.biWidth+x))+1];
//rot
*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+2)=pData[(3*(y*Header2.biWidth+x))+0];
//alpha
//Colorkeying
if(r==*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+2) &&
g==*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+1) &&
b==*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+0) )
{
*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+3)=0;
}
else
{
*(static_cast<char*>(LocketRect.pBits)+y*4*(Header2.biWidth)+x*4+3)=255;
}
}
} |
Also, das ist ein Teil meiner Texturladefunktion. Die Funktioniert wunderbar bis auf den Colorkey. Komischerweise funktioniert der wenn ich 0, 0, 0 für r, g, b einstelle, das heißt alles schwarze wird transparent, also genau so wie es sein sollte. Komishcerweise funktioniert keine andere Farbe, zum Beispiel 255, 0, 0 für rot. Hab schon viel probiert, z.B. die die Reihenfolge und so vertauscht, aber nix hilft. Es funzt nur bei schwarz. Achja, Textur ist 32-bit. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 19.07.2005, 14:10 Titel: |
|
|
Mein Bauchgefühl sagt mir, dass du irgendwie bei der Umrechnung Bit-Byte einen Fehler machst. Hab aber auch keine Zeit mir den Code jetzt genauer anzuschauen, aber du solltest den char cast und LocketRect.pBits-Block evt. nochmal überdenken. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 19.07.2005, 15:45 Titel: |
|
|
mag ja sein, aber mir war ja sehr wohl bewusst, wie man Colorkeys machen muss, ich brauchte gar kein Tutorial und das mit dem char-byte war ja fast sowas wien tippfehler. Außerdem benutze ich nicht Dinge andere Leute sondern mache lieber alles selber, wie du selber immer sagst. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
|