Normals - Where do they point to???

A Vector basically consists of two points in the 2- or 3Dimensional space. Is this right? Ok. so if i call for example glNomal3f(0,1,1); then the first point of my NormalVetor is defined as:
BUT, where is the other End of the Vector??? Is it the last Vertex drawn ? Or is it the next glNormal3f(); call.
Thanx for your help.

The normals are relative vectors, not absolute vectors. It does not matter where a normal is. All that matters is its magnitude (usually 1) and what direction it specifies. The numbers you feed OpenGL, specify both the direction and magnitude. Just pretend it is a vector who origin is the origin, and whose terminus is the point specified. Now you can translate that vector (both its terminus and origin) and it will always be the same normal. Relative vectors are conserved under translations.

Thanx DFrey,
This basic knowledge is very important to me and i really could not find this information anwhere, so thanks very much :slight_smile: But now of course i got another question.
There is another thing that confuses me in this whole NormalVector-Story:
If I understood right, there are 2 ways to define normals:
1.) For each Vertex a normal
2.) For each polygon a normal
But how can I compute a normal for 1 vertex??? You cant compute a cross-product with 1 point given.
And if I calculate a Normal for example for 3 vertexes (1poly), how does OpenGL know to wich polygon the Normal belongs (or to wich vertex for case 1)?

Respect to everyone, who shares his knowledge!

To get the vertex normal, you first have to calculate the face normal as usual. Then you loop through each vertex in the object(s), and for each vertex, you calculate the average of all face normals sharing the vertex you are currently looking at.

There are a few ways to do the averaging. The simplest is to calculate the sum of all normals, and then normalize it.

Heck there is a good article on tutorials page on Underground Mine explaining vectors for beginners.

Visit and check the tutorials.