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:
Mit GL_QUAD_STRIP: (ich weiß, unten fehlt noch ein bischen, aber das mach ich noch)
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:
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
Danke im Vorraus
_________________ Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
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.
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 ^^
_________________ Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
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
Mitglieder in diesem Forum: 0 Mitglieder und 5 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.