Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

책 479페이지 13-3 번 실습 예제 SoftRenderer3D.cpp 파일 업데이트가 필요합니다. #15

Open
Time7Portal opened this issue May 4, 2022 · 1 comment

Comments

@Time7Portal
Copy link

Time7Portal commented May 4, 2022

책 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 의 경우) 가 될 수 있는지 잘 모르겠습니다..

@ideugu
Copy link
Collaborator

ideugu commented May 7, 2022

제보 감사합니다!
질문부터 답변드리면 임의의 방정식 ax+by+cz+d=0은 3차원 공간의 어떤 평면을 나타냅니다. 우리가 y=ax+b의 방정식을 보면 바로 평면상의 어떤 직선에 대응할 수 있는 것 처럼요.
따라서 뷰 공간의 점을 미지수로 잡고 어떤 4차원 벡터와 내적하면 3차원 공간의 정규화되지 않은 어떤 평면에 항상 대응됩니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants