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

Aktuelle Zeit: Do Jul 10, 2025 13:23

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Texturen Problem... ?
BeitragVerfasst: Mi Nov 26, 2008 20:44 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 18, 2008 11:10
Beiträge: 23
Wohnort: Hamburg
Halli Hallo und ich bins schon wieder...

Also nachdem ich nun mithilfe von glBitMap Texturen Laden und sogar auf Objekten platzieren kann... habe ich jetzt Probleme mit der TexturenMatrix:

es soll sich nur die eine Textur bewegen...(also nur die Platten textur[tex1]):
Code:
  1.  
  2.  glPushMatrix;
  3.   glrotatef(18,1,0,0);
  4.   glrotatef(sonrot,0,1,0);
  5.   //quader
  6.   glBindTexture(GL_TEXTURE_2D,tex2);
  7.   glEnable(GL_TEXTURE_2D);
  8.   drawquads;
  9.   glDisable(GL_TEXTURE_2D);
  10.   glPopMatrix;
  11.   //Platte
  12.  
  13.   glBindTexture(GL_TEXTURE_2D,tex1);
  14.   glEnable(GL_TEXTURE_2D);
  15.  
  16. glMatrixMode(GL_TEXTURE);
  17.   glLoadIdentity;
  18.   glTranslatef(x,0,0);
  19. glMatrixMode(GL_MODELVIEW);
  20.  
  21.   glTranslatef(3,0,0);
  22.   glBegin(GL_QUADS);
  23.       glTexCoord2f(0,0); glVertex3f(-1,-1, 1);
  24.       glTexCoord2f(0,1); glVertex3f( -1,1, 1);
  25.       glTexCoord2f(1,1); glVertex3f( 1,1, 1);
  26.       glTexCoord2f(1,0); glVertex3f( 1,-1, 1);
  27.   glEnd();
  28.  
  29.   glDisable(GL_TEXTURE_2D);
  30.  


Außerdem wäre es Super wenn ihr mir sagen könntet ob das ansonsten so richtig ist :)


Vielen Dank schon mal....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 26, 2008 21:12 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

du musst natürlich nach dem Rendern deiner Textur die TexturMatrix wieder zurücksetzen, also einfach

Code:
  1.  
  2. glMatrixMode(GL_TEXTURE);
  3.   glLoadIdentity;
  4. glMatrixMode(GL_MODELVIEW);
  5.  


unten an deinen Code hängen. Ansonsten bleibt die Matrix verändert, bis du wieder zum Anfang deines Rendervorgangs kommst.

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 26, 2008 22:27 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 18, 2008 11:10
Beiträge: 23
Wohnort: Hamburg
Super ! jetzt läufts...

als nächstes wollt ich das mit den animierten Texturen ausprobieren... da ich mich mit dem arrey noch nicht auskenne, hab ich das zunächst wie folgt gemacht , was allerdings doof ist: mal rendert das bild schneller und mal langsamer,,, (kan ich das mit Drwtime ausgleichen?)
Code:
  1.  
  2. sonrot:= sonrot + (0.01*Drawtime);
  3.    If (sonrot > 360) then sonrot := sonrot - 360;
  4.   sonrot2:= sonrot2 - (0.1*Drawtime);
  5.    If (sonrot2 > 360) then sonrot2 := sonrot - 360;
  6.   poc:= poc+0.5;
  7.   poca:= poca+0.5;
  8.    If (poc > 1000) then poc := poc - 1000;
  9.    If (poca > 100) then poca := poca - 100;
  10.    If (poc=1000) then pic:= pic+0.125;
  11.    If (poca=100) then pica:=pica+0.25;
  12.    If (pic=1) then pic:= pic-1;
  13.    If (picb=1) then picb:= picb-1;
  14.    If (pica=1) then begin pica:= pica-1; picb:=picb+0.25; end;
  15. //  x:= x + (0.01*Drawtime);
  16. //   If (x > 1) then x := x - 1;
  17. //Rotatef(a,0,1,0);
  18. glTranslatef(0,0,weite);
  19. glTranslatef(winkel,0,0);
  20.  
  21.   glDisable(GL_CULL_FACE);
  22.    glPushMatrix;
  23.   glrotatef(18,1,0,0);
  24.   glrotatef(sonrot,0,1,0);
  25.   //quader
  26.   glBindTexture(GL_TEXTURE_2D,tex2);
  27.   glEnable(GL_TEXTURE_2D);
  28.   glMatrixMode(GL_TEXTURE);
  29.   glLoadIdentity;
  30.   glTranslatef(x,0,0);
  31. glMatrixMode(GL_MODELVIEW);
  32.   drawquads;
  33.   glMatrixMode(GL_TEXTURE);
  34. glLoadIdentity;
  35. glMatrixMode(GL_MODELVIEW);
  36.   glDisable(GL_TEXTURE_2D);
  37.   glPopMatrix;
  38.   //Platte
  39.    glPushMatrix;
  40.   glBindTexture(GL_TEXTURE_2D,tex1);
  41.   glEnable(GL_TEXTURE_2D);
  42.  
  43.   glTranslatef(3,0,0);
  44.  
  45.   glBegin(GL_QUADS);
  46.    glTexCoord2f(pic,0.125);  glVertex3f(-1,-1, 1);
  47.    glTexCoord2f(pic+0.125,0.125);    glVertex3f( 1,-1, 1);
  48.    glTexCoord2f(pic+0.125, 0);   glVertex3f( 1,1, 1);
  49.    glTexCoord2f(pic,0);  glVertex3f(-1,1, 1);
  50.   glEnd();
  51.   glDisable(GL_TEXTURE_2D);
  52.    glPopMatrix;
  53.  
  54.    glTranslatef(-3,0,0);
  55.   glBindTexture(GL_TEXTURE_2D,tex3);
  56.   glEnable(GL_TEXTURE_2D);
  57.   glBegin(GL_QUADS);
  58.    glTexCoord2f(pica,0.25+picb);  glVertex3f(-1,-1, 1);
  59.    glTexCoord2f(pica+0.25,0.25+picb);    glVertex3f( 1,-1, 1);
  60.    glTexCoord2f(pica+0.25, 0+picb);   glVertex3f( 1,1, 1);
  61.    glTexCoord2f(pica,0+picb);  glVertex3f(-1,1, 1);
  62.   glEnd();
  63.   glDisable(GL_TEXTURE_2D);
  64.  


???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 27, 2008 12:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Hi,
versuch mal DrawTime bei der Variablenerhöhung mit ranzumultiplizieren, also etwa so:
Code:
  1. poc  := poc  + 0.5*DrawTime;
  2. poca := poca + 0.5*DrawTime;

_________________
http://texelviews.delphigl.com


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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 ]