game-1 님의 블로그

DX12 문제 내기 본문

DirectX

DX12 문제 내기

game-1 2025. 3. 14. 21:54

Q1.

각 모형을 자신의 국소 좌표계(Local Space)에서 정의하는 주요 장점은 무엇인가?

① 정점 좌표를 카메라 기준으로 직접 저장할 수 있어 효율적이다.
② 하나의 오브젝트를 여러 위치에 배치할 때 동일한 데이터를 재사용할 수 있다.
③ 모든 오브젝트를 월드 좌표계에서 직접 배치해야 하므로 좌표 계산이 줄어든다.
④ 국소 좌표계를 사용하면 객체 간 충돌 처리가 필요 없어지므로 성능이 향상된다.

 

Q2.

정점 셰이더(Vertex Shader)를 사용하는 주요 이유는 무엇인가?

① 3D 모델의 정점 데이터를 화면 좌표로 변환하고, 조명 등의 그래픽 효과를 적용하기 위해 사용된다.
② 모든 픽셀의 색상을 결정하는 역할을 수행한다.
③ CPU에서 모든 정점 데이터를 직접 계산하는 것이 더 효율적이므로 이를 돕기 위해 사용된다.
④ GPU한테 일시키고 CPU는 일안하고 집가려고 집가고싶다.

 

Q3.

정점 셰이더에서 입력 정점 자료에 접근하는 것은 물론이고, 텍스처라던가 변환 행렬, 장면 광원 정보 등 GPU 메모리에

담긴 다른 자료에도 접근할 수 있다. (O,X)

 

Q4.

세계 공간에서 시야 공간으로의 좌표변경 변환을 _____이라고 부르고, 해당 변환 행렬을 ______이라고 부른다.

 

 

Q5. 책에는 안나와있지만 찍어봐여(보너스)

시야 공간(View Space)에서 정점 좌표를 표현하는 목적은 무엇인가?

① 정점을 최종적으로 화면에 출력하기 위해 정규화된 좌표로 변환하기 위해서이다.
② 정점을 카메라 기준으로 변환하여 광원 계산 및 클리핑을 쉽게 하기 위해서이다.
③ 정점을 월드 좌표계에 직접 매핑하여 객체 배치를 단순화하기 위해서이다.

④ 정점의 위치를 픽셀 좌표로 직접 변환하여 화면에 바로 출력하기 위해서이다.

 

Q6.

시야 공간(View Space)에서 Z축의 방향은 일반적으로 어떻게 설정되는가?

① 카메라가 +Z 방향을 바라본다. 
② 카메라가 -Z 방향을 바라본다.
③ 카메라가 X축과 동일한 방향을 바라본다.
④ 카메라가 Y축과 동일한 방향을 바라본다.

 

Q7.

빈 칸을 채우시오. (1), (2), (3)

Q8.

XMMatrixPerspectiveFovLH 함수에서 FovAngleY의 단위는 무엇인가?

① 도(degree)
② 라디안(radian)
③ 밀리미터(mm)
④ 픽셀(pixel)

 

 

Q9. 이것도 함 찍어보슈(보너스)

XMMatrixPerspectiveFovLH에서 FovAngleY가 클 경우 어떤 결과가 발생할까?

① 화면의 모든 물체가 커져서 화면에 다 들어온다.
② 화면에 물체가 너무 작게 표시된다.
③ 물체들이 왜곡되어 보인다.
④ 화면의 시야가 좁아진다.

 

 

 

 



2, 1, O, 시야변환 시야행렬 ,2, 1, 시점,투영창,투영선,2라디안,3

9번 해설:
FovAngleY가 너무 크면, 시야각이 넓어져서 화면의 물체들이 왜곡되어 보일 수 있다.

이를 광각 왜곡(barrel distortion)이라고 한다.