Seite 1 von 1
glBindTexture_ und glColor3f_ kann ich bei Ogl nicht mischen
Verfasst: 18.12.2006 11:45
von wasser
Ich habe einen 3d-Körper mit mehreren verschiedenen Farben, 1 Rechteck und 4 Räder, alles verschiedenen farben mit color3f_ und eine Fläche als Untergrund.
Es wird auch alles schön in den Farben dargestellt,
Wenn ich jetzt aber der Fläche eine Texture zuweise wird die Fläche in der Farbe dargestellt, die der letzte Körper zugewiesen bekommen hat, in verschiedener Intensität.
Diese beiden Befehle kann ich nicht getrennt Zeigen :
glBindTexture_(#GL_TEXTURE_2D,Texture_1)
glColor3f_(1.0,1.0,0.5)
Welchen Opengl-Befehl muss man einsetzen?
MFG
Verfasst: 18.12.2006 19:18
von DarkDragon
Schonmal mit glMaterial... versucht?
Verfasst: 19.12.2006 00:15
von Hellhound66
Je nachdem, welchen (Blending-)Modus er nutzt, wird er nur die Textur und keine Farbe mehr dazu sehen. Keine Ahnung, wie das bei OGL nochmal heisst.
Vielleicht klappts damit:
Code: Alles auswählen
glTexEnvf_(#GL_TEXTURE_ENV, #GL_TEXTURE_ENV_MODE, #GL_MODULATE);
#GL_MODULATE und #GL_DECAL sind deine Freunde hier.
Verfasst: 20.12.2006 10:28
von wasser
Da ich den Farbwert aus den Datenblock des 3d-Körpers herauslese (RGB), bräuchte ich eine Routine, die mir im Programm den Farbwert auf eine Textur wiedergibt und ich dann die Textur dem Körperteil zuweise.
Wie geht diese Lösung? Sind mehrere Texturen ein großer Zeitverlust, jedes Körperteil bräuchte eine eigene Textur ?
MFG
Verfasst: 20.12.2006 13:01
von Hellhound66
Die Farbwerte vom Mesh werden bei #GL_MODULATE mit der Textur moduliert (multipliziert), man kann noch ne ganze Palette anderer Funktionen hier implementierten.
Sind mehrere Texturen ein großer Zeitverlust, jedes Körperteil bräuchte eine eigene Textur ?
1.Nein
2.ungeschickt.
Ich gehe mal davon aus, dass du Index/Vertexlisten nutzt. Wenn das der Fall ist, musst du dein Mesh splitten, um den einzelnen Bereichen (Körperteilen) ne neue Textur zuzuweisen. Das ist nicht nur langsamer, sondern auch recht ungeschickt. Mach lieber ne eigene Textur für das Entitiy (Wesen). Sollte die sich ändern (andere Klamotten), dann kannst du einfach diese persönliche Textur modifizieren, und schon funzts.
Mehrere Texturen im Sinne von Multitexturing (mehrere Texturen übereinander) beeinflussen die Geschwindigkeit nicht wirklich bei modernen GraKas.
Verfasst: 20.12.2006 21:21
von wasser
Mit welchen Programm kann man eine Textur für ein Gebilde (Fahrgestell mit Kranausleger) erstellen.
MFG