|
|
PerspectiveFOV:
Right Handed:
h = cos(fov/2) / sin(fov/2);
w = h / aspect;
2*zn/w 0 0, 0
0 2*zn/h 0, 0
0 0 zf/(zn-zf) -1
0 0 zn*zf/(zn-zf) 0
Left Handed:
h = cos(fov/2) / sin(fov/2);
w = h / aspect;
2*zn/w 0 0 0
0 2*zn/h 0 0
0 0 zf/(zf-zn) 1
0 0 zn*zf/(zn-zf) 0
LookAt:
Right Handed:
zaxis = normal(Eye - At)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)
xaxis.x yaxis.x zaxis.x 0
xaxis.y yaxis.y zaxis.y 0
xaxis.z yaxis.z zaxis.z 0
-dot(xaxis, eye) -dot(yaxis, eye) -dot(zaxis, eye) l
Left Handed:
zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)
xaxis.x yaxis.x zaxis.x 0
xaxis.y yaxis.y zaxis.y 0
xaxis.z yaxis.z zaxis.z 0
-dot(xaxis, eye) -dot(yaxis, eye) -dot(zaxis, eye) l
|