나는 광선 추적에서 카메라를 완전히 고수했습니다. 제 계산을보고 오류가 어디 있는지 알려주십시오. 왼손잡이 좌표계를 사용하고 있습니다.광선 추적의 카메라
xp = x/S * 2 – 1;
yp = y/S * 2 – 1;
:
X, Y // 범위 [0..S) × [0..S는) // 픽셀 지금
을 좌표의 픽셀로 변환하게는 카메라면의 파라 좌표 간의
XP, YP // 범위 [-1..1] × [-1..1] 카메라 근거
계산 :
//eye - camera position
//up - camera up vector
//look_at - camera target point
vec3 w = normalize(look_at-eye);
vec3 u = cross(up,w);
vec3 v = cross(w,u);
때문에 RA (
vec3 dir = look_at – eye + xp*u + yp*v;
이미지 평면 법선 벡터 w
이 있고, 어느 눈과 지점에서 모양 사이 여야합니다 : 실수가 여기 내 생각
vec3 dir = look_at – eye + xp*u + yp*v;
ray3 ray = {eye, normalize(dir)};
나는 그것을 얻지 못한다. 왜 이렇게 많은 계산이 필요한가? 광선이 카메라와 카메라 사이에 보이는 관심 지점 사이에 있지 않습니까? 두 점 사이에 그냥 벡터가 있습니까? –