OpenGL - Texturen?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

OpenGL - Texturen?

Beitrag 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.
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag 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?
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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
Zuletzt geändert von Ynnus am 20.11.2005 19:49, insgesamt 1-mal geändert.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag 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
Antworten