Good Evening everybody.

I am currently re encoding opengl 1.5 and a problem appears with the light process.

On the specification there is a blurry part :

if P 1 and P 2 are (homogeneous, with four coordinates) points then let P1 P 2 be the unit vector that points from P1 to P2 .

Note that if P2 has a zero w coordinate and P1 has non-zero w coordinate, then P1 P2 is the unit vector corresponding to the direction specified by the x, y, and z coordinates of P2 ; if P1 has a zero w coordinate and P2 has a non-zero w coordinate then P1 P2 is the unit vector that is the negative of that corresponding to the direction specified by P1 . If both P1 and P2 have zero w coordinates, then P1 P2 is the unit vector obtained by normalizing the direction corresponding to P2 − P1 .

I guess that if a something has 0 w coordinate, it is a direction, otherwise it is a position (Isn’t it ? there is very important)

Does it mean that if i have two vertex , one for my triangle position P1(2, 4, 6, 1) and another for the light position P2(1, 5, 9, 0),

if i have to compute the vertex P1P2, then i will only considere that P1P2 is P1P2(1, 5, 9, 0) and i will have to normalize it ?

Is the mindset to consider that something that is not a direction is a position , and above all that :

2 positions stay a position, 2 direction stay a direction , a direction and a position is a direction ?

I expect that my questions were clear, but it is really important to me to understand it.

Thank for your time passed to my post.

zuraneur.