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 |