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
glBindTexture_ und glColor3f_ kann ich bei Ogl nicht mischen
-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
-
Hellhound66
- Beiträge: 476
- Registriert: 23.03.2005 23:19
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:
#GL_MODULATE und #GL_DECAL sind deine Freunde hier.
Vielleicht klappts damit:
Code: Alles auswählen
glTexEnvf_(#GL_TEXTURE_ENV, #GL_TEXTURE_ENV_MODE, #GL_MODULATE);Optimismus ist ein Mangel an Information.
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
Wie geht diese Lösung? Sind mehrere Texturen ein großer Zeitverlust, jedes Körperteil bräuchte eine eigene Textur ?
MFG
-
Hellhound66
- Beiträge: 476
- Registriert: 23.03.2005 23:19
Die Farbwerte vom Mesh werden bei #GL_MODULATE mit der Textur moduliert (multipliziert), man kann noch ne ganze Palette anderer Funktionen hier implementierten.
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.
1.NeinSind mehrere Texturen ein großer Zeitverlust, jedes Körperteil bräuchte eine eigene Textur ?
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.
Optimismus ist ein Mangel an Information.