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

Aktuelle Zeit: Fr Jul 18, 2025 15:43

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Texturen
BeitragVerfasst: Mi Mai 10, 2006 18:45 
Offline
DGL Member

Registriert: Mi Mär 08, 2006 17:38
Beiträge: 153
Wohnort: Rümmelsheim (bei Bingen)
Guten Tag,
habe gestern mit OpenGL angefangen.
Die Matrizen hab ich bis jetzt sehr gut verstanden, da ich mit Genesis schonmal geproggt hab.
Naja .. aber jetzt kommen die Texturen. Und die haben ne Eigene Matrix ?!

Angenommen ich habn Rechteck weiß als ModelView.
will das jetzt Texturieren. Brauch ich dann das ModelView noch ?!
brauch jede Textur die ich setzte in der ModelView Matrix ein Objekt ?!

Wenn ja . in welcher Reihenfolge muss ich das machen . Erst Texturieren und dann Das Objekt zeichnen oder andersrum ?!

ich hoffe es hat einer verstanden was ich meine ..

danke
Simon


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 10, 2006 18:57 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Texturen haben eine Texturmatrix, die sich aber nur auf die Texturkoordinaten auswirkt.
Daher auf:
glTexCoord2f( x , y );

Anwendung:
Code:
  1. glBegin(GL_QUADS);
  2.   glTexCoord2f(0, 0); glVertex3f(-1, -1, 0);
  3.   glTexCoord2f(1, 0); glVertex3f( 1, -1, 0);
  4.   glTexCoord2f(1, 1); glVertex3f( 1,  1, 0);
  5.   glTexCoord2f(0, 1); glVertex3f(-1,  1, 0);
  6. glEnd();


Im Prinzip ist es dasselbe wie bei den Farben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 10, 2006 19:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Texturen haben eine eigene Matrix, ja. Auf die kannst du auch zugreifen und Sachen damit anstellen. Aber: Du wirst das - wie ich deinem Post entnehme, bist du neu Neuling - vor allem zu Beginn sehr selten brauchen. Ich selbst programmiere jetzt schon vier-fünf Jahre mit OpenGL und habe die Texturenmatrix erst einmal in einem belanglosen Fall selbst modifizieren müssen.

€: Hmm war zu langsam. Das man mit glTexCoord auch die Texturenmatrix verändert, hab ich übersehen. Weil es gibt ja auch die Möglichkeit per glRotatef etc. DAS würde ich erstmal hinten anstellen ;)

Allgemein: Wenn du mit Texturen arbeiten willst, bleibst du in der ModelView-Matrix. Deine Frage zur Reihenfolge der Anweisungen: Die bindest zuerst deine Textur per glBindTexture(...), und dann zeichnest du per glBegin(...) ... glEnd alle deine Polygone/Objekte, die diese Textur haben sollen. Schon fertig!

_________________
"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  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 10, 2006 19:24 
Offline
DGL Member

Registriert: Mi Mär 08, 2006 17:38
Beiträge: 153
Wohnort: Rümmelsheim (bei Bingen)
gut soweit so gut *gg* ..
1)i0n0s hat ja grad eben nen Quelltext gemacht. Muss der auch unter ModelView stehen ?!

2)Wenn das der fall wäre hätte ich in der TexturMatrix garnix zu tun.

Kann mir jemand ein beispiel nennen wo man das z.b. in spielen brauch ?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 10, 2006 19:32 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Ansich steht das wichtigste in Tutorial lektion4.
Beispiele findest du z.B. im DGLSDK.

Und es steht unter Modelview und wie La Boda es schon gesagt hat, ist es sowas was man wissen sollte, aber nie benutzt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 10, 2006 20:01 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Würde ich nicht unbedingt so sagen. Fakt ist, dass hier wohl die goldene Linux-Regel zählt: Was man nicht weiß, braucht man nicht. Die Textur-Matrix kann z.B. nützlich sein, wenn Du willst, dass eine Textur "fließt". Man kann damit (für 80er Verhältnisse) ziemlich coole Lava- und Wassereffekte zaubern oder eine Art "Schild"-Textur über ein Raumgleiter laufen lassen. Dies ist natürlich auch möglich in dem man einfach entsprechend die Tex-Koordinaten jedes Mal neuberechnet... bequemer wäre es aber das Mapping vorzugeben, in die Textur-Matrix zu schalten, dort ein gltranslate auszuführen und zurück in die ModelView zu schalten. Oben genannte Effekte lassen sich heute jedoch vermutlich (*sg) mit einem Shader erheblich mehr Oha-Effekte erreichen. Bin halt in den 80er stehen geblieben ;) In jedem Fall solltest Du stets anschließend wieder zurück in die ModelView schalten, da es sonst zu nervenaufreibenden Suchen kommen kann.

Ein Beispiel für die Textur-Matrix gibt es in meinem Renderpass-Tutorial (unter Files, besser die aktuelle Version aus der SVN) bei dem eine schwarz-weiße Textur nach unten läuft und durch Zufallsgenerator links und rechts hin und her springt. Der Effekt berümter Krieg-der-Ameisen-Effekt, wenn das Haustier an den Kabeln genagt hat *sg

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 10, 2006 21:33 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ums ganz kurz zu machen: Die Texturmatrix benötigst du immer dann, wenn du die Textur auf dem Texturierten Objekt bewegen willst. Wenn du das Objekt selbst bewegen willst, musst du die Modelviewmatrix nehmen.

Mehr zu den Matrixen findest du im Tutorial_Matrix2

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


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


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.008s | 14 Queries | GZIP : On ]