렌더링 파이프라인에서 사용자가 그래픽을 변화하기 위해서 파이프라인은 꾸준히 변화하고 있다.
그 형태는 HLSL 과 같은 쉐이더 코드를 사용 할 수 있는 단계를 잘게 쪼개어 좀 더 유연하게 프로그래밍 할 수 있도록 변화해 온 것이다.

쉐이더에서 가장 기본이 되는 쉐이더는 버텍스와 픽셀 쉐이더 이다.
버텍스와 픽셀 쉐이더는 본인이 직접 만들어서 사용하게 하자! 이런 식으로 합의가 된 것이다.
쉐이더에서도 가장 먼저 main 함수를 만든다. 버텍스 쉐이더와 픽셀 쉐이더 는 각자 다른 프로그램이다. 따라서 각 쉐이더 별로 main 이 존재해야한다.
먼저 초기화 함수를 다시 보면
쉐이더 파일의 이름을 넣어 컴파일해서 사용할 쉐이더를 지정할 수 있다. VS 는 파이프라인의 앞 단계에 있기 때문에 파이프라인에 들어간 데이터의 형식을 같이 알려줘야한다.


Blob 은 컴파일 과정에서 사용되는 임시 메모리 정도로 생각하면 된다. 워낙 자주사용되어서 11 12 버전 기준이 없고 그냥 D3DBLOB 이다.

파이프라인에서 사용되는 쉐이더들은 독립적인 프로그램으로서 쉐이더가 다른 쉐이더를 실행 시키거나 하지 않는다. 하지만 쉐이더끼리 데이터를 주고 받을 수 는 있다. 그러니까 사용할 쉐이더가 5개라면 쉐이더 별 컴파일이 5번 진행되어져야 한다.
사용할 쉐이더를 파이프라인에 셋팅해주고 오브젝트의 기하학 정보 외에도 가상공간 안의 객체의 움직임을 표현하는 CONST 버퍼를 설정 할 수 있다.

'DX' 카테고리의 다른 글
| HLSL 디버거 (0) | 2025.06.15 |
|---|---|
| HLSL 기본 문법 (0) | 2025.06.15 |
| 모델 뷰 프로젝션 (MVP) 과 프로젝션 행렬 (0) | 2025.06.15 |
| D3D11 렌더링 파이프라인 (0) | 2025.06.15 |
| D3D11 초기화 (0) | 2025.06.15 |