D3D12_RAY_FLAGS 열거형(d3d12.h)
투명도, 컬링 및 조기 아웃 동작을 재정의하기 위해 TraceRay 함수에 전달된 플래그입니다.
Syntax
typedef enum D3D12_RAY_FLAGS {
D3D12_RAY_FLAG_NONE = 0,
D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1,
D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2,
D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4,
D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8,
D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
D3D12_RAY_FLAG_SKIP_TRIANGLES,
D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES
} ;
상수
D3D12_RAY_FLAG_NONE 값: 0 옵션이 선택되지 않았습니다. |
D3D12_RAY_FLAG_FORCE_OPAQUE 값: 0x1 광선 추적에서 발생하는 모든 광선 기본 교집합은 불투명한 것으로 처리됩니다. 따라서 적중 기하 도형이 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE 지정하는지 여부와 적중된 instance instance 플래그에 관계없이 적중 셰이더가 실행되지 않습니다. 이 플래그는 RAY_FLAG_FORCE_NON_OPAQUE, RAY_FLAG_CULL_OPAQUE 및 RAY_FLAG_CULL_NON_OPAQUE 함께 사용할 수 없습니다. |
D3D12_RAY_FLAG_FORCE_NON_OPAQUE 값: 0x2 광선 추적에서 발생하는 모든 광선 기본 교집합은 불투명하지 않은 것으로 처리됩니다. 따라서 적중 횟수 셰이더(있는 경우)는 적중 기하 도형이 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE 지정하는지 여부와 적중된 instance instance 플래그에 관계없이 실행됩니다. 이 플래그는 RAY_FLAG_FORCE_\OPAQUE, RAY_FLAG_CULL_OPAQUE 및 RAY_FLAG_CULL_NON_OPAQUE 함께 사용할 수 없습니다. |
D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH 값: 0x4 광선 추적에서 발생한 첫 번째 광선 기본 교집합은 적중 셰이더가 없는 경우를 포함하여 적중 셰이더 직후 에 AcceptHitAndEndSearch 가 자동으로 호출됩니다. 유일한 예외는 위의 적중 셰이더가 IgnoreHit을 호출하는 경우이며, 이 경우 광선은 영향을 받지 않고 계속되어 다음 적중이 첫 번째 적중이 될 다른 후보가 됩니다. 이 예외를 적용하려면 적중 셰이더를 실제로 실행해야 합니다. 따라서 적중이 불투명으로 처리되기 때문에 적중 셰이더를 건너뛰면(예: RAY_FLAG_FORCE_OPAQUE 또는 D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE 또는 설정 중인 D3D12_RAYTRACING_INSTANCE_FLAG_OPAQUE) AcceptHitAndEndSearch 가 호출됩니다. 첫 번째 적중 시 가장 가까운 적중 셰이더가 있는 경우 RAY_FLAG_SKIP_CLOSEST_HIT_SHADER 없는 한 호출됩니다. 발견 된 하나의 히트는 "가장 가까운"것으로 간주됩니다, 광선에 가까운 수 있습니다 다른 잠재적 인 안타가 방문되지 않았을 수도 있지만. 이 플래그의 일반적인 용도는 한 번의 적중만 있으면 되는 그림자에 사용됩니다. |
D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER 값: 0x8 하나 이상의 적중이 커밋되고 가장 가까운 적중에 대한 적중 그룹에 가장 가까운 적중 셰이더가 포함되어 있더라도 해당 셰이더의 실행을 건너뜁니다. |
D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES 값: 0x10 후면 삼각형을 컬링할 수 있습니다. instance 따라 다시 마주보고 있는 삼각형을 선택하려면 D3D12_RAYTRACING_INSTANCE_FLAGS 참조하세요. D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE 지정하는 인스턴스에서는 이 플래그가 적용되지 않습니다. D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES 이외의 기하 도형 형식에서는 이 플래그가 적용되지 않습니다. 이 플래그는 RAY_FLAG_CULL_FRONT_FACING_TRIANGLES 함께 사용할 수 없습니다. |
D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES 값: 0x20 전면 삼각형을 컬링할 수 있습니다. instance 따라 다시 마주보고 있는 삼각형을 선택하려면 D3D12_RAYTRACING_INSTANCE_FLAGS 참조하세요. D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE 지정하는 인스턴스에서는 이 플래그가 적용되지 않습니다. D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES 이외의 기하 도형 형식에서는 이 플래그가 적용되지 않습니다. 이 플래그는 RAY_FLAG_CULL_FRONT_FACING_TRIANGLES 함께 사용할 수 없습니다. |
D3D12_RAY_FLAG_CULL_OPAQUE 값: 0x40 기하 도형 및 instance 플래그에 따라 불투명으로 간주되는 모든 기본 형식을 컬링합니다. 이 플래그는 RAY_FLAG_FORCE_OPAQUE, RAY_FLAG_FORCE_NON_OPAQUE 및 RAY_FLAG_CULL_NON_OPAQUE 함께 사용할 수 없습니다. |
D3D12_RAY_FLAG_CULL_NON_OPAQUE 값: 0x80 기하 도형 및 instance 플래그에 따라 불투명하지 않은 것으로 간주되는 모든 기본 형식을 컬링합니다. 이 플래그는 RAY_FLAG_FORCE_OPAQUE, RAY_FLAG_FORCE_NON_OPAQUE 및 RAY_FLAG_CULL_OPAQUE 함께 사용할 수 없습니다. |
요구 사항
머리글 | d3d12.h |