Entwickler-Ecke
Multimedia / Grafik - Licht(er) einfügen in Opengl
Pascal - Mi 10.12.03 20:45
Titel: Licht(er) einfügen in Opengl
Ich möchte, wie der Titel schon sagt, ein Licht in eine Opengl Scene einfügen. Dabei sind mir Schatten(,die von Objekten auf andere geworfen werden,) nicht so wichtig, sondern vor allem, dass man gleichfarbige Rechtecke durch unterschiedliche Sichtwinkel unterscheiden kann. Ich suche eine möglichst einfache Methode, die zusammen mit Opengl12.pas funktioniert.
Kann mir da jemand einen Tip geben wie das am besten geht?
Andreas Pfau - Fr 12.12.03 22:20
Hallo,
1) Licht-Unterstützung aktivieren:
Delphi-Quelltext
1:
| glEnable(GL_LIGHTING); |
2) Einzelnes Licht aktivieren
Delphi-Quelltext
1:
| glEnable(GL_LIGHT0 + n); |
3) mit glLight() die Parameter setzen (Position, Farbe, Art). Onlinehilfe lesen, da gibt es dutzende von Möglichkeiten, wie Spotlights, Ambient-Licht (Hintergrundlicht), Diffuse-Licht (Steulicht), verscheidene Richtungen und Winkel, usw.
PS: Einfach zu implementieren, aber Hardwarehungirg! Geeignet für CAD oder so was, abr in Spielen bitte Lightmaps (oder Vertexlight) verwenden!
Pascal - Sa 13.12.03 15:54
Danke!
Werde ich beides mal ausprobieren.
Pascal - Mo 15.12.03 17:51
Danke.
Bei Modellen funktioniert es jetzt.
Aber andere Polygons wie z.B.
Quelltext
1: 2: 3: 4: 5: 6: 7:
| glBegin(GL_POLYGON); glColor4f(0, 1, 0, 0.5); glVertex3f(-1.0, 1.0, -1.0); glVertex3f(-1.0, 1.0, 1.0); glVertex3f( 1.0, 1.0, 1.0); glVertex3f( 1.0, 1.0, -1.0); glEnd; |
werden dadurch dunkel und gleichfarbig. Muss ich da noch was hinzufügen, damit die auch normal beleuchtet werden?
Raphael O. - Mo 15.12.03 19:09
du musst damit es richtig beleuchtet wird noch die Normale angeben :
Pascal - Mo 15.12.03 19:33
Danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!