Frage zu Vertexbuffer und Normalvektor
-
Hallo Leute,
der Normal-Vektor gibt ja an in welche richtung die sichtbare fläche eines Polygons steht. Aber entsprechen der Vertexbuffer deklaration kann man zu jedem Vertex einen Normalvektor angeben??? was macht das für einen Sinn? Ein normalvektor bezieht sich ja zu einem Polygon nicht zu einem Vertex?? Und vorallem wenn die vertex-geshared werden in anderen meshes macht es noch weniger sinn??
grüße
-
Der Normalenvektor wird aber auch für die Beleuchtungsrechnung verwendet. Da macht es Sinn, dass jedem Vertex eine Normale zugeordnet wird, da man für jeden Eckpunkt eine andere Farbe berechnet. Ich nehme an, dass Algortihmen, die Vorder- bzw. Rückseiten von Polygonen benötigen diese Informationen bei der Farbberechnung der Pixel verwenden und da dann die Normal interpoliert wird.
-
Ahh ok , das macht sind!? d.h. für ein Polygon, welches aus 3 Vertexen besteh hat jeder Vertex im VertexBuffer den gleichen Normalvektor? Also der des Polygons?
Hmm da hab ich noch ne frage!! Wie sieht es mit Schatten von einem Model auf ein anderes aus? Ich verwende die Axiom .NET 3D engine , da is ein Scenengraph mit rendere etc. alles schon dabei, lichtquellen funktionieren auch, allerding werden keine schatten gerendert! Ich nehem an das hängt von der 3D Engine ab, ob die das kann oder? Die stinknormale directX renderingpipline etc. wird das nich machen?
-
BorisDieKlinge schrieb:
Ahh ok , das macht sind!? d.h. für ein Polygon, welches aus 3 Vertexen besteh hat jeder Vertex im VertexBuffer den gleichen Normalvektor? Also der des Polygons?
Nein, ein Normalenvektor steht immer senkrecht auf dem Objekt. Daher ändert sich die Richtung der Normalen mit der Oberflächenkrümmung.
BorisDieKlinge schrieb:
Hmm da hab ich noch ne frage!! Wie sieht es mit Schatten von einem Model auf ein anderes aus? Ich verwende die Axiom .NET 3D engine , da is ein Scenengraph mit rendere etc. alles schon dabei, lichtquellen funktionieren auch, allerding werden keine schatten gerendert! Ich nehem an das hängt von der 3D Engine ab, ob die das kann oder? Die stinknormale directX renderingpipline etc. wird das nich machen?
Beleuchtung impliziert nicht unbedingt Schatten...
-
Ok , d.h. die berechnung von schatten ist ein feaure eine 3D engine nich basis von 3D Libs wie directX