inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Toán học trò chơi làm nền tảng cho công cụ trò chơi

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

Đã giải quyết

592

scottku3881

3 câu hỏi đã được viết

1

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

게임수학

Câu trả lời 2

1

ideugu

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

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

 

 

0

scottku3881

빠른 답변 감사합니다!

0

scottku3881

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

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

0

512

0

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

1

536

1

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

0

1337

1

Engine.lib 파일을 포함 불가

0

606

1

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

0

483

2

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

0

296

0

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

0

528

1

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

0

670

1

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

0

445

1

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

0

577

3

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

0

445

1

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

0

371

1

항등원

0

456

1

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

0

1343

1

고급 수학

1

469

1

간절히 원하던 강의네요!

0

251

1

전사와 일반차이

0

279

1

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

0

411

1

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

1

328

1

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

2

345

1

강의 노트가 어디 있나요?

1

343

1

코드 작성

0

380

2

혹시 쉐이더 강의

1

373

1

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

1

372

1