구문
typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS
{
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 1,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 2,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 4,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 8
} D3D12_RAYTRACING_INSTANCE_FLAGS
상수
| 상수 | 설명 |
|---|---|
| D3D12_RAYTRACING_INSTANCE_FLAG_NONE | 옵션이 지정되지 않았습니다. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE | 이 인스턴스에 대해 앞/뒷면 컬링을 비활성화합니다. 레이 플래그 RAY_FLAG_CULL_BACK_FACING_TRIANGLES 및 RAY_FLAG_CULL_FRONT_FACING_TRIANGLES는 이 인스턴스에 영향을 미치지 않습니다. |
| D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE | 이 플래그는 앞면과 뒷면의 방향을 반전시키며, 애플리케이션의 자연스러운 감기 순서가 기본값과 다를 때 유용합니다. 기본적으로, 삼각형은 왼손 좌표계의 객체 공간에서 레이 원점에서 봤을 때 정점이 시계 방향으로 나타나면 앞면이고, 반시계 방향으로 나타나면 뒷면입니다. 이 감기 방향 규칙은 객체 공간에서 정의되므로 인스턴스 변환의 영향을 받지 않습니다. 예를 들어, 음수 행렬식을 가진 인스턴스 변환 행렬(예: 일부 지오메트리 미러링)은 인스턴스 내 삼각형의 방향을 변경하지 않습니다. 반면, D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC에 정의된 지오메트리별 변환은 객체 공간에서 관련 정점 데이터와 결합되므로, 그곳의 음수 행렬식 행렬은 삼각형의 감기를 뒤집습니다. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE | 인스턴스가 참조하는 최하위 가속 구조 내 모든 지오메트리에 대해 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE가 지정된 것처럼 인스턴스가 동작합니다. 이 동작은 레이 플래그 RAY_FLAG_FORCE_NON_OPAQUE로 재정의할 수 있습니다. 이 플래그는 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE 플래그와 상호 배타적입니다. |
| D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE | 인스턴스가 참조하는 최하위 가속 구조 내 어떤 지오메트리에 대해서도 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE가 지정되지 않은 것처럼 인스턴스가 동작합니다. 이 동작은 레이 플래그 RAY_FLAG_FORCE_OPAQUE로 재정의할 수 있습니다. 이 플래그는 D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE 플래그와 상호 배타적입니다. |
요구 사항
헤더: d3d12_xs.h라이브러리: d3d12_xs.lib
지원 플랫폼: XBOX Series 콘솔
