typedef struct D3D12_HIT_GROUP_DESC {
LPCWSTR AnyHitShaderImport;
LPCWSTR ClosestHitShaderImport;
LPCWSTR IntersectionShaderImport;
D3D12_HIT_GROUP_TYPE Type;
} D3D12_HIT_GROUP_DESC;
这个结构有以下几个字段:
1. AnyHitShaderImport: 表示任意击中着色器的导入名称。当光线与几何体相交时,如果指定了这个字段,将执行相应的任意击中着色器。
2. ClosestHitShaderImport: 表示最近击中着色器的导入名称。当光线与几何体相交时,如果指定了这个字段,将执行相应的最近击中着色器。
3. IntersectionShaderImport: 表示相交着色器的导入名称。当光线与几何体相交时,如果指定了这个字段,将执行相应的相交着色器。
4. Type: 表示命中组的类型,是一个枚举值,包括以下几种类型:
- D3D12_HIT_GROUP_TYPE_TRIANGLES: 表示三角形命中组。
- D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE: 表示过程性图元命中组。
这个结构通常用于构建光线追踪(Ray Tracing)管道,指定在不同情况下执行哪个着色器程序。当你使用 ID3D12Device5::CreateStateObject 创建状态对象时,需要使用这个结构来描述命中组的属性。
转载请注明出处:http://www.zyzy.cn/article/detail/25945/Win32 API/D3d12.h/D3D12_HIT_GROUP_DESC