일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 그래프
- Brute Force
- Stored Procedure
- MYSQL
- two pointer
- 이진탐색
- union find
- Two Points
- 스토어드 프로시저
- SQL
- 다익스트라
- String
- binary search
- Hash
- DP
- Trie
- Dijkstra
Archives
- Today
- Total
codingfarm
6. Direct3D의 그리기 연산 - 래스터화기 상태 본문
래스터화 단계
- 프로그래밍 불가, 구성만 가능
- rendering pipeline의 많은 부분이 프로그래밍이 가능하지만, 일부는 구성(설정)만 가능하며, 래스터화 단계그 가 중 하나다.
- 래스터화기 상태(rasterizer state)를 통해서 구성
- D3D12_RASTERIZER_DESC 구조체로 상태를 대표
1
2
3
4
5
6
7
8
9
10
11
12
13
|
typedef struct D3D12_RASTERIZER_DESC {
D3D12_FILL_MODE FillMode;
D3D12_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
UINT ForcedSampleCount;
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D12_RASTERIZER_DESC;
|
cs |
rasterizer state를 서술한다.
매개변수
1,2,3,8 번째 이외의 멤버들은 고급기법을 위한것이므로 여기서는 설명을 생략한다.
1.D3D12_FILL_MODE FillMode;
- rendering시 사용할 fill mode를 지정한다.
- D3D12_FILL_WIREFRAME : wireframe 렌더링
- D3D12_FILL_SOLID : 면의 속을 채운(solid) rendering (default value)
2.D3D12_CULL_MODE CullMode;
- 지정된 방향을 향하는 삼각형이 그려지지 않도록 지정한다.
- D3D12_CULL_NONE : 선별을 끈다
- D3D12_CULL_BACK : 후면 삼각형들을 선별(제외) 한다. (default value)
- D3D12_CULL_FRONT : 전면 삼각형들을 선별
3.BOOL FrontCounterClock
- 삼각형이 전면 또는 후면인지를 결정한다.
- false
- 전면삼각형 : 시계방향으로 감긴 삼각형(카메라 기준)
- 후면삼각형 : 반시계방향으로 감긴 삼각형
- default value
- true : false와 반대
8.BOOL MultisampleEnable;
- 가위판정 활성화 여부를 결정한다.
- true : 가위 판정을 활성화
- false : 비활성화 (default value)
다음 코드는 와이어 프레임 모드를 켜고 후면 선별을 끄는 래스터화기 상태를 생성하는 방법을 보여준다.
1
2
3
|
CD3DX12_RASTERIZER_DESC rsDesc(D3D12_DEFAULT);
reDesc.FillMode = D3D12_FILL_WIREFRAME;
rsDesc.CullMode = D3D12_CULL_NOME;
|
cs |
'computer graphics > DX12 book' 카테고리의 다른 글
6. Direct3D의 그리기 연산 - 기하구조 보조 구조체 (0) | 2021.06.19 |
---|---|
6. Direct3D의 그리기 연산 - 파이프라인 상태 객체 (0) | 2021.06.19 |
6. Direct3D의 그리기 연산 - 셰이더의 컴파일 (0) | 2021.06.16 |
6. Direct3D의 그리기 연산 - 상수 버퍼(constant buffer) (0) | 2021.06.07 |
6. Direct3D의 그리기 연산 - 예제 픽셀 셰이더 (0) | 2021.06.06 |
Comments