Software/DirectX
-
19. 테셀레이션 단계 ( Tessellation Stage )Software/DirectX 2024. 5. 24. 10:19
Table of Contents1. 테셀레이션 단계2. 덮개 셰이더(Hull shader) 2.1 상수 덮개 세이더(Constant Hull shader) 2.2 제어점 덮개 세이더(Control Point Hull shader)3. 테셀레이터(Tessellator)4. 영역 셰이더(Domain shader) 1. 테셀레이션 단계렌더링 파이프라인에서 테셀레이션에 관련된 세 개의 단계를 테셀레이션 단계(Tessellation Stage)라고 한다.테셀레이션은 앞 서 배웠듯이 주어진 기하구조(삼각형)을 더 작은 삼각형들로 분할하고, 분할한 삼각형의 좌표를 조정해서 새로운 기하모델을 만드는 과정이다.처음부터 고차원의 세밀한 메시를 사용하는 것보다 테셀레이션 단계에서 고차원 모델을 만드는 것에서 얻는 이점은..
-
18. 계산 쉐이더 ( Compute shader )Software/DirectX 2024. 5. 24. 10:18
Table of Contents1. 계산 셰이더2. 스레드와 스레드 그룹 1. 계산 셰이더그래픽 카드의 빠른 대용량 병렬 계산 능력을 활용하는 셰이더 단계그래픽 처리에 사용하지 않아도 그래픽 메모리에 접근할 수 있게 하는 수단(GPU가 CPU로 자료 전송)으로, GPGPU(general purpose GPU)프로그래밍에 최적화된 단계이다.물론 그래픽 처리에서도 계산셰이더에서 구현할 수 있는 효과들이 많이 있다.따라서 계산 셰이더는 렌더링 파이프라인에 독립적이나, 경우에 따라서 렌더링 파이프라인에 묶어서 사용하는 것도 가능하다. 2. 스레드와 스레드 그룹계산 셰이더를 컴팩트하게 활용하기 위해서는 스레드 그룹을 GPU에 적절하게 배분하는 것이 중요하다.GPU의 한 다중 처리기에 적어도 두 개의 스레드 그룹을..
-
17. 기하 쉐이더 ( Geometry shader )Software/DirectX 2024. 5. 24. 10:16
Table of Contents1. 기하 셰이더2. 빌보드 기법3. 텍스쳐 배열(Texture Array)3. 텍스쳐 부분자원(subresource)1. 기하 셰이더기하 셰이더는 정점과 픽셀 셰이더 사이 있는 생략 가능한 파이프라인 단계다테셀레이션을 사용하면 기하 셰이더가 꼭 필요하다기하 셰이더는 정점을 확장하거나 파괴할 수 있다.기하 셰이더의 출력은 도형마다의 정점 리스트이다.가장 흔한 사용 기법은 정점 하나를 사각형 하나로 확장하는 것이다. 2. 빌보드 기법멀리 있는 배경을 그릴 때 효과적인 기법이다.멀리 있는 사물을 완전한 3차원 기하구조가 아닌 3차원 모습을 담은 2차원 텍스쳐를 사각형에 입히는 것으로 대신하는 기법이다.이 기법이 효과가 있으려면 빌보드 사각형이 항상 카메라를 바라봐야한다.빌보드 ..