Seite 1 von 1

OpenGL - Texturen?

Verfasst: 20.11.2005 19:25
von AndyX
Tag,

ich versuche gerade in OpenGL Texturen zu verwenden. Das: Link funktioniert ja, aber ich weiß echt nich wie ich da mehrere Texturen reinbringen soll.

Danke für jede Antwort.

Verfasst: 20.11.2005 19:41
von Ynnus
Du musst dir ein Array erstellen welches jeweils die ID der Textur beinhaltet. Hier im Tutorial (welches übrigens sehr unübersichtlich aussieht, keine Formatierung usw.) wird immer "Tex" als Variable verwendet, welche die Textur beinhaltet. Da es eine Variable ist kann diese auch nur einen Index einer Textur beinhalten. Dimensionier die Variable 10 mal und du kannst 10 fassen. Dazu musst du natürlich ein paar kleine Änderungen im Code vornehmen. Aber wenn du das Grundprinzip verstanden hast sollte das zu machen sein.

Verfasst: 20.11.2005 19:45
von AndyX
Nicht ganz das, was ich eigentlich meinte :| Naja, hab mich wohl nicht klar ausgedrückt. Nochmal:

Dass ich das

Code: Alles auswählen

Tex = LoadGLTexture("boden.jpg", #TEX_FILTER)
Tex2 = LoadGLTexture("mauer1.jpg", #TEX_FILTER)
etc., machen kann, ist mir klar. Ich weiß nur nicht wie ich dann z.b. Textur 1 auf mein erstes Quad und Textur 2 auf mein zweites Quad bringen kann.

Da hab ich gleich noch eine Farbe: Wie kann ich bei der Textur eine Transparenzfarbe festlegen?

Verfasst: 20.11.2005 19:46
von Ynnus
Mit glBindTexture() wählt man die als nächstes zu verarbeitende Textur aus. Da wählst du dann entweder tex oder tex2 aus und als ersten Parameter GL_TEXTURE_2D.

Die transparente Farbe wird bestimmt dadurch, wie die Maske bzw. die Alphawerte der Textur sind. Wenn du ein Dateiformat verwendest welches 32 bit unterstützt (etwa PNG oder TGA) dann kannst du die Grafik mit Alphakanal abspeichern. Im OpenGL kannst du dann den "Alphatest" aktivieren und alle Transparenzwerte größer X ausblenden lassen. Näheres findest du zum Beispiel hier: http://wiki.delphigl.com/index.php/Tutorial_2D

Verfasst: 20.11.2005 19:49
von AndyX
Ah, danke :D Wieso ich da nich selber draufgekommen bin >__<

Jetzt interessiert mich noch das:
Ich hat geschrieben:Wie kann ich bei der Textur eine Transparenzfarbe festlegen?
EDIT: Danke :D