Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Jul 13, 2025 19:12

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Anfänger-Licht-Frage
BeitragVerfasst: So Mai 17, 2009 21:17 
Offline
DGL Member

Registriert: Mo Dez 26, 2005 22:27
Beiträge: 117
Programmiersprache: Pascal, C++
Hallo,

habe lang nichts mehr geschrieben, aber ich lese nebenbei mit. Ich gebe zu - ich habe lang nichts mehr mit OpenGl programmiert...
Nun ja, mit Licht hatte ich immer meine Schwierigkeiten, aber ohne Licht schauts blöd aus.



Mein neuestes Projekt ist mathematischer Natur - Volumen einer rotierenden Koch-Kurve - meine Facharbeit ging über Fraktale und da dachte ich mir: Das kann man vertiefen.
Zur Verdeutlichung habe ich mir flugs ein Programm geschrieben, das auch so läuft wie ich will - bis aufs Licht


Das Programm schaut so aus:

Mit GL_LINE_STRIP:
Bild


Mit GL_QUAD_STRIP: (ich weiß, unten fehlt noch ein bischen, aber das mach ich noch)
Bild



Ich denke man sieht wo das Problem liegt ^^
Ich vermute es liegt daran, dass es einfach zu wenig Dreiecke sind, aber ich kann mich auch täuschen.
Oder was ich ehr vermute: Die Normalen werden nicht berechnet, dass würde die "Einseitigkeit" der Beleuchtung erklären
Ich habe mit dem Licht-Tutorial schon viel rumgespielt und diese Beleuchtung wurde mit folgendem Code erzeugt:
Code:
  1. glLightfv(GL_LIGHT0, GL_POSITION, @light_position[0]);
  2. glEnable(GL_LIGHTING);
  3. glEnable(GL_LIGHT0);
  4.  
  5. //Rendern



Meine Frage ist nun: Kann man die Licht-Effekte steigern, so dass man Übergänge (vergleiche 1.tes und 2.tes Bild) erkennt. In Sachen Licht habe ich leider keine Ahnung, zwei Tage basteln haben keine Ergebnisse gebracht - ich hoffe hier auf euch :D

Danke im Vorraus

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 17, 2009 21:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Die fehlenden Normale sind tatsächlich der Grund.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 17, 2009 22:50 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
glNormal3f(); behebt dein Problem. Da du die 3d daten dynamisch erzeugst (gehe mal avon aus, das die vom Programm errechnet werden), sollte es weniger ein Problem darstellen diese auch zu berechnen. Anschließend solltest du eine etas hübschere ausleuchtung bekommen. Das einzige was dann noch schiefgehen kann sind die einstellungen des Lichts, aber da kommt man mit ausprobieren schnell auf vernünftige werte. Da glNormal3f(); funktioniert genuso wie glColor3f(); also einfach ergenzen im CCode und fertig. Falls du mit VBOs arbeitest, dann musst du das interne Format des VBO anpassen auf eins, das Vertex und Normalen Daten enthält und bei dessen erstellung die Normalen dran hängen.

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 18, 2009 12:16 
Offline
DGL Member

Registriert: Mo Dez 26, 2005 22:27
Beiträge: 117
Programmiersprache: Pascal, C++
Und ich dachte schon ich muss aufwendig Normale berechnen... danke Sellmann


So siehst aus: Des langt für mich - ich werde noch ein bischen mit den Lichteinstellungen rumexperimentieren, aber solange es schon mal nach was aussieht ^^
Bild

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 18, 2009 18:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Da dein Modell sehr fein detalliert ist, sieht die Lichtberechnung gar nicht mal so schlecht aus.
Deine Angst zu wenige Vertices zu haben, ist angesichts des GL_LINE_STRIP Bildes absolut unbegründet. Das sind verdammt viele Daten würde ich sagen. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]