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

Aktuelle Zeit: Fr Jul 18, 2025 03:53

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: TglBitmap2d - Textur nicht sichtbar?
BeitragVerfasst: Di Jun 08, 2010 16:35 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Hallo,

ich versuche mich gerade an der glBitmap. Ich bekomme jedoch keine Textur auf meinen Würfel... Ich erstelle wie hier http://wiki.delphigl.com/index.php/W%C3%BCrfel einen Würfel und wollte für jede Seite eine alternativ entweder eine Farbe oder eine Textur vergeben.

Hier ein Ausschnitt vom Zeichnen des Würfels:
Code:
type
 TSide = record
    fColor : TColor;
    fTex   : TglBitmap2D;   
 end;
...
var
 Sides : Array [1..6] of TSide;
...
...
If (inverted)
    Then i := -1
    Else i := +1;

  dx := 0.5 * dx;
  dy := 0.5 * dy;
  dz := 0.5 * dz;

   glBegin(GL_QUADS);
    // left (inverted: right)
    glColor3ub(GetRValue(Sides[1].fColor), GetGValue(Sides[1].fColor), GetbValue(Sides[1].fcolor));
    if assigned(Sides[1].fTex) then
     Sides[1].fTex.bind
      else
       glDisable(GL_TEXTURE_2D);


    glNormal3f(-1, 0, 0);
    glTexCoord2f(            toffset[0],             toffset[1]);
    glVertex3f(-dx*i + voffset[0], -dy + voffset[1], -dz + voffset[2]);
    glTexCoord2f(tscale[0] + toffset[0],             toffset[1]);
    glVertex3f(-dx*i + voffset[0], -dy + voffset[1], +dz + voffset[2]);
    glTexCoord2f(tscale[0] + toffset[0], tscale[1] + toffset[1]);
    glVertex3f(-dx*i + voffset[0], +dy + voffset[1], +dz + voffset[2]);
    glTexCoord2f(            toffset[0], tscale[1] + toffset[1]);
    glVertex3f(-dx*i + voffset[0], +dy + voffset[1], -dz + voffset[2]);

    glColor3ub(GetRValue(Sides[2].fColor), GetGValue(Sides[2].fColor), GetbValue(Sides[2].fcolor));
    if assigned(Sides[2].fTex) then
     Sides[2].fTex.bind
      else
       glDisable(GL_TEXTURE_2D);
    // right (inverted: left)



und hier wie ich die Texturen zuweise:

Code:
      if assigned(x13d.stage.Sides[i].fTex) then
       x13d.stage.Sides[i].fTex.free;

      x13d.Stage.Sides[i].fTex:= TglBitmap2d.Create(AdvFilenameEdit1.Filename);
      x13d.Stage.Sides[i].fTex.Target := GL_TEXTURE_2D;
      x13d.Stage.Sides[i].fTex.SetWrap(GL_REPEAT, GL_REPEAT, GL_REPEAT);
      x13d.stage.Sides[i].fTex.GenTexture(false);


Ich sehe jedoch nirgends eine Textur!?! Was könnt ich falsch machen?

Mfg,
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Jun 08, 2010 17:00 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
hat sich erledigt... Wusste nicht, das ich innerhalb eines glBegin, glEnd Blocks nicht die Textur welchseln kann..

Jetzt funkts..


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.006s | 14 Queries | GZIP : On ]