openGL::Normals
Verfasst: Mittwoch 20. August 2008, 21:13
was bisher geschah: aufgrund eines sehr schicken tutorials (das sei hier gleich ma erwähnt: http://www.lighthouse3d.com/opengl/glsl/) hab ich mal ein wenig mit den shadern rumgespielt. was auch hübsche ergebnisse brachte, solange ich die gl.glutSolid*s verwende. nun wollte ich meine eignen modelle (ganz simple geometrien, wie kegel und kugeln) verwenden und siehe da: jede beleuchtung war futsch.
was ich sicher weiß, ist, daß ich die normals irgendwie definieren muß. nur wie? nachdem ich diese zeile:
in den vertexshader eingefügt hab, sahs wieder aus wie vorher. soweit ich das verstehe, würden diese ja aber für jeden vertex zu jedem frame neu berechnet. das muß ja nun aber, solange die modelle unveränderlich sind, wirklich nicht sein!?!
also kurz gefragt: wie berechne ich die normals via opengl? oder komme ich da irgendwie drum herum?
das näxte wäre:
das ergebnis sieht eigentl auch nur gut aus, solange ich runde formen darstellen möchte. will ich eine fläche darstelln, werden die normals ja auch interpoliert, was dann beispielsweise einen würfel zu ner art eckiger kugel macht.
hmm.. also, ich glaube, das sind eher theoretische fragen, dh hab ich hier mal keinen code eingefügt. aber bei bedarf..
so long ~$10
was ich sicher weiß, ist, daß ich die normals irgendwie definieren muß. nur wie? nachdem ich diese zeile:
Code: Alles auswählen
gl_Normal = normalize(gl_Vertex);
also kurz gefragt: wie berechne ich die normals via opengl? oder komme ich da irgendwie drum herum?
das näxte wäre:
das ergebnis sieht eigentl auch nur gut aus, solange ich runde formen darstellen möchte. will ich eine fläche darstelln, werden die normals ja auch interpoliert, was dann beispielsweise einen würfel zu ner art eckiger kugel macht.
hmm.. also, ich glaube, das sind eher theoretische fragen, dh hab ich hier mal keinen code eingefügt. aber bei bedarf..
so long ~$10