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

Aktuelle Zeit: Di Mai 14, 2024 17:27

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: Do Okt 30, 2008 20:37 
Offline
DGL Member

Registriert: Mi Okt 29, 2008 09:29
Beiträge: 1
Hi Leute, bin noch Newby in Sachen OpenGl und hab desshalb eine Frage, die ich trots Internet ncith lösen kann.

Also, ich hab eine Textur (mit Alpha werten und im tga-Format), diese möchte ich gerne über eine andere Textur (ebenfalls .tga-format) rendern.

Beim Laden der Textur müsste ich ja folgenden Funktionsaufruf verwenden:

Code:
  1.  
  2. ...
  3. var
  4.     Tex           : PSDL_Surface;
  5. begin
  6.   Tex := IMG_Load(TexturLink);
  7.   If assigned(Tex)                                                      
  8.     Then
  9.       begin
  10.         glGenTextures(1, @TexturNummer);                                  
  11.                                                                          
  12.         glBindTexture(GL_TEXTURE_2D, TexturNummer);                      
  13.         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  14.         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  15.         glTexImage2D(GL_TEXTURE_2D,                                      
  16.                      0, 4,                                              
  17.                      Tex^.w, Tex^.h, 0,                                  
  18.                      GL_BGRA,                                            
  19.                      GL_UNSIGNED_BYTE,                                  
  20.                      Tex^.pixels);                                      
  21.         SDL_FreeSurface(Tex);
  22.  
  23.       end;
  24. end;


Hintergrundfarbe ist schwarz, Tiefentest ist aktiviert, Backface Culling ist aus, GL_TEXTURE_2D ist ebenfalls an und GL_BLEND ist aus/an - hab beides versucht, scheint aber das Ergebnis nicht wirklich zu beeinflussen.

Wenn ich nun die Textur auf den Bildschirm Zeichnen möchte, verwende ich folgenden Code:

Code:
  1.    glBindTexture(GL_TEXTURE_2D, e.getSurface);
  2.       glBegin(GL_QUADS);
  3.         glTexCoord2f(0,1);
  4.           glVertex3f(-e.Width / 2, -e.Height / 2, 0.2);
  5.         glTexCoord2f(1,1);
  6.           glVertex3f(e.Width / 2, -e.Height / 2, 0.2);
  7.         glTexCoord2f(1,0);
  8.           glVertex3f(e.Width / 2, e.Height / 2, 0.2);
  9.         glTexCoord2f(0,0);
  10.           glVertex3f(-e.Width / 2, e.Height / 2, 0.2);
  11.       glEnd;


(Den ganzen Code der Unit möchte ich aus Platzgründen nicht posten :D)

Die Textur wid zum Schluss über alle anderen Texturen gezeichnet... sie liegt jeweils 0.1 Längeneinheit drüber.

Was sollte man noch wissen? Achja, mein Problem: Die Textur sieht aus wie Schneesturm. Oder eine Bildstörung.
Wenn ich die Textur statt mit GL_BGRA mit GL_BGR lade, sehe ich nciht die transparente textur, sonder eine andere.
Das passiert, selbst wenn ich dei andere Textur aus der Laderoutine entferne.

Achja, wenn das zu wenig Codeschnipsel des Projektes sind, (bis her hat alles andere funktioniert), der kann sich das Projekt gerne von sf zeihen. Also das Ssvn-Repo enthällt den Fehler in der aktuellen Revision.

https://sourceforge.net/projects/botbattle/ <-- das Projekt
https://botbattle.svn.sourceforge.net/svnroot/botbattle <-- Das Repo dazu

Wer echt nett, wenn ihr mir helfen könntet... sonst müsste ich das Projekt ohne Transparenz weitermachen und das wäre echt schade.

Bis morgen. ;)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 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.033s | 17 Queries | GZIP : On ]