책 479페이지 13-3 번 실습 예제 gamemath-13-3/Source/Player/SoftRenderer3D.cpp 에서
// 절두체 선언
Frustum frustumInView(frustumPlanes);
으로 되어있지만 책에서는 frustumFromMatrix 라는 이름으로 사용한 것으로 보입니다.
13-3c 브랜치에는 정상적으로 frustumFromMatrix 로 등록되어 있는 것으로 보아 실수로 이름 업데이트를 누락하신 것으로 사료됩니다.
감사합니다.
Q. 추가적으로 질문이 있습니다.
책 468 페이지에서
원근 투영 행렬의 행벡터를 계산한 4차원 벡터를 (a, b, c, d)로 표시했을 때 이를 뷰 공간의 점 (x, y, z, 1)과 내적한 결과
는 평면의 방정식과 형태가 동일하다는 내용이 있습니다만,
원근 투영 행령의 행벡터들이 어떻게 평면의 방정식의 a, b, c, d (특히 d 의 경우) 가 될 수 있는지 잘 모르겠습니다..
제보 감사합니다!
질문부터 답변드리면 임의의 방정식 ax+by+cz+d=0은 3차원 공간의 어떤 평면을 나타냅니다. 우리가 y=ax+b의 방정식을 보면 바로 평면상의 어떤 직선에 대응할 수 있는 것 처럼요.
따라서 뷰 공간의 점을 미지수로 잡고 어떤 4차원 벡터와 내적하면 3차원 공간의 정규화되지 않은 어떤 평면에 항상 대응됩니다
책 479페이지 13-3 번 실습 예제 gamemath-13-3/Source/Player/SoftRenderer3D.cpp 에서
으로 되어있지만 책에서는 frustumFromMatrix 라는 이름으로 사용한 것으로 보입니다.
13-3c 브랜치에는 정상적으로 frustumFromMatrix 로 등록되어 있는 것으로 보아 실수로 이름 업데이트를 누락하신 것으로 사료됩니다. 감사합니다.
Q. 추가적으로 질문이 있습니다. 책 468 페이지에서 원근 투영 행렬의 행벡터를 계산한 4차원 벡터를 (a, b, c, d)로 표시했을 때 이를 뷰 공간의 점 (x, y, z, 1)과 내적한 결과 는 평면의 방정식과 형태가 동일하다는 내용이 있습니다만, 원근 투영 행령의 행벡터들이 어떻게 평면의 방정식의 a, b, c, d (특히 d 의 경우) 가 될 수 있는지 잘 모르겠습니다..