inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

게임 엔진을 지탱하는 게임 수학

원근투영 절두체에 관해서 질문 드려도 괜찮을까요?

해결된 질문

594

‍구본재

작성한 질문수 3

1

현재 GetClientRect()를 활용하여 얻은 MFC 창의 width와 height가 각각 1420 / 653의 값을 가지고 있는데요.
 
절두체 컬링에 대한 그림을 보면 거의 정사각뿔의 절두체들로 이루어져 있습니다. 하지만 원근투영행렬을 생각해봤을 때
 
x의 값에 (초점거리) / (종횡비)를 곱해주는 부분이 있는데, 근평면을 z=-1, 원평면을 z = -300, 시야각을 90도라 하면
 
아래의 그림과 같이 컬링을 진행할 때 (1, 1, -1) ~ (300, 300, -300) 부분의 절두체가 아닌 실질적으로 빨간색 선과 점선으로 이루어진 부분을
 
절두체로 보고 컬링을 해야하는게 아닌가 싶어 질문 드립니다.
 
코딩하다보니 절두체를 검은 선 부분과 같이 잡고 컬링을 진행하면 화면 양 옆 부분이 텅 비어버리게 되어서 궁금증이 생겼습니다.

게임수학

답변 2

1

이득우

네 종횡비 적용시킨 평면의 방정식을 만들어주시면 될 것 같아요. 책에는 (종횡비가 적용된) 원근투영행렬을 활용해서 절두체를 구성하는 6개의 평면 방정식을 만드는 예제를 수록했는데, 영상 강좌에서도 한번 추가해보겠습니다. 

  • 당분간은 깃허브 소스를 참고해보세요. 
  • https://github.com/onlybooks/gamemath/blob/13-2c/Source/Player/SoftRenderer3D.cpp 

 

 

0

‍구본재

빠른 답변 감사합니다!

0

‍구본재

y축에는 나누는부분이 없으니 빨간 사각형의 높이 = 검은 정사각형의 높이여야 좀 더 제 의도랑 맞을 것 같습니다. 감안하고 봐주세요 ㅎㅎ

Lighting 추가하고 나니 프레임이 많이 떨어지는데 원래 이런 건가요?

0

516

0

Deferred Rendering 에서 조명에 Culling이 일어나는 것 같습니다.

1

541

1

static_pointer_cast와 static_cast의 차이가 무엇인가요?

0

1340

1

Engine.lib 파일을 포함 불가

0

608

1

셰이더 VS_Main에서 행렬 곱해줄 때

0

488

2

1:05분 질문(1시간 5분)

0

299

0

CKSoftRenderer 소스코드를 이해하는 방법에 대한 질문입니다.

0

530

1

20강 마지막 부분에서 "다음시간에는 ..." 으로 끝났는데

0

672

1

"탄젠트 함수가 전단사 함수가 될 수 있는 정의역 구간은?" 다음에 소괄호

0

448

1

학습자료는 책을 사면 되는건가요???

0

579

3

28:43초에 추가 설명 부탁드립니다.

0

449

1

공간의 카메라 시스템에 대해

0

374

1

항등원

0

458

1

혹시 직교투영에 대해서도 설명해주실 수 있으실까요?

0

1346

1

고급 수학

1

471

1

간절히 원하던 강의네요!

0

253

1

전사와 일반차이

0

281

1

사칙 연산의 재구성 에대해서

0

413

1

이번에 서적 출간하신거 관련 질문드려요

1

330

1

[18.외적] 카메라의 z로컬축을 구한후에 x로컬을 구하는 방법

2

347

1

강의 노트가 어디 있나요?

1

345

1

코드 작성

0

382

2

혹시 쉐이더 강의

1

375

1

강의 노트를 공유해주실 수는 없을까요?

1

374

1