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

Aktuelle Zeit: Do Jul 17, 2025 21:53

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: glColor3f und Texturen
BeitragVerfasst: Mo Mär 13, 2006 16:04 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Mär 04, 2006 22:54
Beiträge: 32
Ist das eigentlich normal, wenn ich ein paar Quads und Polygone mit einer Texture überziehe und mir dann noch eine Sphere erstelle, die einfach nur blau sein soll - das sich dann alles in blau einfärbt?

Code:
  1. //Zeichnen
  2. //  AntiAliasing - einschalten
  3.   glEnable(GL_LINE_SMOOTH);
  4.  
  5. //  Tiefentest - einschalten
  6.   glEnable( GL_DEPTH_TEST );
  7.  
  8. //  Texturen anzeigen - einschalten
  9.   glEnable(GL_TEXTURE_2D);
  10.  
  11. //  Testen für weitere Texturen
  12. // Textur setzen für den Boden und die Decke
  13.   glBindTexture(GL_TEXTURE_2D, handle3);
  14.  
  15. // den Boden und die Decke erstellen
  16.   glBegin(GL_QUADS);
  17.     glTexCoord2f(0,0); glVertex3f(-3,-1,2);       // Ecke links unten
  18.     glTexCoord2f(0,1); glVertex3f(-3,-1,-2);        // Ecke links oben
  19.     glTexCoord2f(1,1); glVertex3f(3,-1,-2);         // Ecke rechts oben
  20.     glTexCoord2f(1,0); glVertex3f(3,-1,2);        // Ecke rechts unten
  21.   glEnd;
  22.   glBegin(GL_QUADS);
  23.     glTexCoord2f(0,0); glVertex3f(-3,1,2);       // Ecke links unten
  24.     glTexCoord2f(0,1); glVertex3f(-3,1,-2);        // Ecke links oben
  25.     glTexCoord2f(1,1); glVertex3f(3,1,-2);         // Ecke rechts oben
  26.     glTexCoord2f(1,0); glVertex3f(3,1,2);        // Ecke rechts unten
  27.   glEnd;
  28.  
  29. // Textur setzen für die Wände
  30.   glBindTexture(GL_TEXTURE_2D, handle2);
  31.  
  32. // alle 4 Wände erstellen
  33.   glBegin(GL_QUADS);
  34.     glTexCoord2f(0,0); glVertex3f(-3,-1,2);       // Ecke links unten
  35.     glTexCoord2f(0,1); glVertex3f(-3,1,2);        // Ecke links oben
  36.     glTexCoord2f(1,1); glVertex3f(-3,1,-2);         // Ecke rechts oben
  37.     glTexCoord2f(1,0); glVertex3f(-3,-1,-2);        // Ecke rechts unten
  38.   glEnd;
  39.   glBegin(GL_QUADS);
  40.     glTexCoord2f(0,0); glVertex3f(3,-1,-2);       // Ecke links unten
  41.     glTexCoord2f(0,1); glVertex3f(3,1,-2);        // Ecke links oben
  42.     glTexCoord2f(1,1); glVertex3f(3,1,2);         // Ecke rechts oben
  43.     glTexCoord2f(1,0); glVertex3f(3,-1,2);        // Ecke rechts unten
  44.   glEnd;
  45.   glBegin(GL_QUADS);
  46.     glTexCoord2f(0,0); glVertex3f(-3,-1,-2);       // Ecke links unten
  47.     glTexCoord2f(0,1); glVertex3f(-3,1,-2);        // Ecke links oben
  48.     glTexCoord2f(1,1); glVertex3f(3,1,-2);         // Ecke rechts oben
  49.     glTexCoord2f(1,0); glVertex3f(3,-1,-2);        // Ecke rechts unten
  50.   glEnd;
  51.   glBegin(GL_QUADS);
  52.     glTexCoord2f(0,0); glVertex3f(-3,-1,2);       // Ecke links unten
  53.     glTexCoord2f(0,1); glVertex3f(-3,1,2);        // Ecke links oben
  54.     glTexCoord2f(1,1); glVertex3f(3,1,2);         // Ecke rechts oben
  55.     glTexCoord2f(1,0); glVertex3f(3,-1,2);        // Ecke rechts unten
  56.   glEnd;
  57.  
  58. // Polygon erstellen mit richtiger Textur
  59.   glBegin(GL_POLYGON);
  60.     glTexCoord2f(0,0); glVertex3f(0,1,0);
  61.     glTexCoord2f(0,0.5); glVertex3f(0,1.5,0);
  62.     glTexCoord2f(0.5,1); glVertex3f(0.5,2,0);
  63.     glTexCoord2f(1,0.5); glVertex3f(1,1.5,0);
  64.     glTexCoord2f(1,0); glVertex3f(1,1,0);
  65.   glEnd;
  66.   glBegin(GL_POLYGON);
  67.     glTexCoord2f(0,0); glVertex3f(0,1,-1);
  68.     glTexCoord2f(0,0.5); glVertex3f(0,1.5,-1);
  69.     glTexCoord2f(0.5,1); glVertex3f(0.5,2,-1);
  70.     glTexCoord2f(1,0.5); glVertex3f(1,1.5,-1);
  71.     glTexCoord2f(1,0); glVertex3f(1,1,-1);
  72.   glEnd;
  73.  
  74.   glBegin(GL_QUADS);
  75.     glTexCoord2f(0,0); glVertex3f(0,1,-1);
  76.     glTexCoord2f(0,0.5); glVertex3f(0,1.5,-1);
  77.     glTexCoord2f(0.5,0.5); glVertex3f(0,1.5,0);
  78.     glTexCoord2f(0.5,0); glVertex3f(0,1,0);
  79.   glEnd;
  80.   glBegin(GL_QUADS);
  81.     glTexCoord2f(0,0); glVertex3f(1,1,-1);
  82.     glTexCoord2f(0,0.5); glVertex3f(1,1.5,-1);
  83.     glTexCoord2f(0.5,0.5); glVertex3f(1,1.5,0);
  84.     glTexCoord2f(0.5,0); glVertex3f(1,1,0);
  85.   glEnd;
  86.  
  87.   glDisable(GL_TEXTURE_2D);
  88. // fliegende Kugel
  89.   Quad := gluNewQuadric;
  90.   glRotatef(turn, 0, 1, 0);
  91.   glTranslatef(6, 0, 0);
  92.   glColor3f(0, 0, 0.5);
  93.   gluSphere(Quad, 2, 32, 32);
  94.  
  95.   turn := turn + 1;
  96.   if turn > 360 then turn := 0;
  97.  



PS: Ich weis das das Dach fehlt :-)

// edit Lossy: Code durch Pascaltags ersetzt.

_________________
Schönen Gruß, Sky.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 16:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Joahr. In deinem Falle ist das durchaus normal. OpenGL ist eine Statemashine und die Speichert alles. Sogar über den Aufruf von wgSwapBuffer hinüber. Also ist es in etwa so als hättest du bei den anderen Flächen auch blau gesetzt. Wenn du jetzt vor dem ersten Quad weiß als Farbe setzt dann ist alles wieder in Ordnung.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 16:13 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Mär 04, 2006 22:54
Beiträge: 32
:D thx - wieder was dazu gelernt.

_________________
Schönen Gruß, Sky.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 18:47 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmmm das mit der Statemachine vergessen viele am Anfang. Wo könnte man das denn noch unterbringen, dass sich das von Anfang einprägt?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 13, 2006 19:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Gibt`s denn die alte FAQ noch? Wenn ja, dann wird die etwas stiefmütterlich behandelt... aber da würde es am besten hinpassen, wenn man dann noch alle schön drauf hinweist, das sowas existiert.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


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


Wer ist online?

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