DirectX/DirectX 3D_(구)

44_Geometry

컴맹학자 2021. 9. 22. 19:16
728x90

쉐이더 파일


Billboard.h cpp (GS 사용에 맞게 수정)


실행

 

3,4 : 카메라 따라 움직임

 

5번 이후 2D면 그림 형태으로 중심점으로 십자가 형태로 면 2개로 그려짐

5,6 : 뒷면이 안그려지는 문제

7,8 : 5,6번 해결 하지만 외각선 이 애매하거나 깊이 관련 문제가 있음

9 : 최종 해결 파이프 라인


보충

더보기

IA -> VS -> GS -> RS -> PS -> OM
             2D영역 | 3D 영역

Geometry(GS) : 면 단위로 다루는 쉐이더 (컴퓨트 쉐이더(CS)에 가까움)
쓰임새 : 정점(VS)에서 1개 받아서 면을 그리기, 별도의 계산으로 삼각형을 그리거나 여러개의 정점을 받아서 1개로 계산 하는등 여러가지 계산 처리 하는 쉐이더

 

받을 대는 Point 형식으로 정점 단위로 값을 받음

장점 : 면단위 그릴때 정점 3개를 받아서 계산해서 그려야 할 것을 GS에서 1개의 정점으로 표현을 하기 때문에 계산적으로는 빠르다

핵심
1. 정점 1개를 받아서 처리한다
2. 1번에서 면 단위 계산 해서 출력한다
3. World위치 값은 vs에서 계산을 하고 ViewProjection 계산은 gs 에서함
 -> World 값은 고정값이고 ViewProjection은 가변값이므로 Wrold에서 미리 계산
4. RS이전에 계산하는 쉐이더(2D) 이다

'DirectX > DirectX 3D_(구)' 카테고리의 다른 글

46_PostProcessing  (0) 2021.10.01
45_RenderTarget  (0) 2021.10.01
43_Particle  (0) 2021.09.17
42_Weather  (0) 2021.09.07
41_Billboard  (0) 2021.09.05