Quick Reference
text
CullMode -> BACK 기본, double-sided는 NONE 검토
FrontCCW -> vertex winding과 좌표계 변환에 맞춤
FillMode -> SOLID 또는 debug WIREFRAME
ScissorEnable -> viewport 안의 추가 pixel rectangle 제한
DepthBias -> shadow/decal의 depth 충돌 완화, 과하면 분리 현상면이 사라질 때 culling을 끄기 전에 index winding, negative scale, coordinate-system conversion과 FrontCounterClockwise를 확인합니다.
설정 관계
Viewport는 NDC를 target 영역에 매핑하고 scissor rect는 그 안에서 rasterization할 pixel 범위를 더 줄입니다. ScissorEnable만 켜고 rect를 설정하지 않으면 예상치 못한 영역이 잘릴 수 있습니다.
Depth clip을 끄는 설정은 일반 geometry의 near/far clipping을 바꾸므로 특수한 shadow volume 같은 경우가 아니면 기본값을 유지합니다. Antialiased line, multisample와 forced sample count는 target sample 설정과 함께 봅니다.
자주 틀리는 점
- Wireframe을 최종 성능과 모양의 기준으로 사용하지 않습니다.
- Shadow acne를 큰 depth bias 하나로 덮지 않습니다.
- UI clipping에서 viewport와 scissor 좌표 원점을 혼동하지 않습니다.
- State object를 draw마다 새로 생성하지 않고 조합별로 재사용합니다.
참고 링크
2 sources