Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 15, 2025 17:24

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SDL ALPHA FARBE
BeitragVerfasst: Mi Aug 16, 2006 10:52 
Offline
DGL Member

Registriert: Mi Jul 26, 2006 12:35
Beiträge: 15
Hallo alle zusammen ich bin aus dem Urlaub zurück:

Mein Problem ist das die geladene Textur eines Roboters zwar trasparent aber anstelle von stahlblau stahlbraun dargestellt wird

Ich lade sie so:
Code:
  1.  
  2.           tex_surface5 := IMG_Load('Texturen/Robo.tga');
  3. if assigned(tex_surface5) then
  4. begin
  5.   glGenTextures(1, @Bild5);
  6.   glBindTexture(GL_TEXTURE_2D, Bild5);
  7.   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex_surface5^.w, tex_surface5^.h,0, GL_RGBA, GL_UNSIGNED_BYTE, tex_surface5^.pixels);
  8.   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  9.   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  10.   SDL_FreeSurface(tex_surface5);
  11.   end;
  12.  




und stelle sie so dar:

Code:
  1.  
  2.  
  3.  glEnable(GL_TEXTURE_2D);
  4.   glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
  5. glBindTexture(GL_TEXTURE_2D, Bild5);
  6.  glEnable(GL_ALPHA_TEST);
  7. glAlphaFunc(GL_GREATER, 0.1);
  8. glBegin( GL_QUADS );
  9.  
  10.  glTexCoord2f(0,0);
  11.     glVertex3f( -1.0, 1.0, 0.0 );
  12.  glTexCoord2f(1,0);
  13.     glVertex3f( 1.0, 1.0, 0.0 );
  14.  glTexCoord2f(1,1);
  15.     glVertex3f( 1.0, -1.0, 0.0 );
  16.  glTexCoord2f(0,1);
  17.     glVertex3f( -1.0, -1.0, 0.0 );
  18.  
  19.  glEnd();
  20.  glDisable(GL_TEXTURE_2D);
  21.  






und falls jetzt jemand auf die Idee kommt mir statt RGBA BRGA vorzuschlagen möchte ich bereits im vorhinein anmerken
das ich dann nur noch ein weises Viereck habe ohne Textur erzeugen kann.

Hilfe!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 16, 2006 11:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Fakt ist, dass das was du beschreibst genau auf das RGBA und BGRA phänomen zurückzuführen ist. Und TGA ist auch ein Format in dem die Pixel im BGR Format in der Datei liegen. Ich kann allerdings nicht abschätzen was SDL da macht.

Hast du schon mal versucht als Format GL_BGRA anzugeben? Also der Erste der beiden Parameter ist das Interne Format und der muss GL_RGBA (Siehe wiki) bleiben. Wärend der zweite Parameter das Format angibt was du rein reichst. Und da musst du GL_BGRA angeben, damit er weiß, dass er die Farben vertauschen muss.

Code:
  1. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex_surface5^.w, tex_surface5^.h,0, GL_BGRA, GL_UNSIGNED_BYTE, tex_surface5^.pixels);


Das sollte eigentlich klappen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 16, 2006 12:47 
Offline
DGL Member

Registriert: Mi Jul 26, 2006 12:35
Beiträge: 15
Danke! Hat wirklich funktioniert! Schönen Tag noch!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]