Win32 API:D3D12_RAYTRACING_INSTANCE_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_INSTANCE_FLAGS 枚举用于指定光线追踪实例的标志。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_INSTANCE_FLAG_NONE: 无特殊标志。2. D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE: 禁用三角形背面消隐。3. D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE: 指定三角形为逆时针顺序。4. D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE: 强制实例为不透明。这些标志用于配置光线追踪场景中的实例,影响光线追踪过程中的三角形消隐、面向性等行为。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_INSTANCE_FLAGS 枚举:#include <d3d12.h>// 其他代码...// 配置光线追踪实例的标志D3...
Win32 API:D3D12_RAYTRACING_GEOMETRY_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_GEOMETRY_TYPE 枚举用于指定光线追踪几何体的类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES: 表示几何体为三角形。2. D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS: 表示几何体为程序化的基本体轴对齐边界框(AABBs)。这些类型用于定义在光线追踪场景中使用的不同几何体的类型。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_GEOMETRY_TYPE 枚举:#include <d3d12.h>// 其他代码...// 配置光线追踪几何体的类型D3D12_RAYTRACING_GEOMETRY_TYPE geometryType = D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES;// 例如,选择三角形类型的几何体// 在定义光线追踪几何体时使用 ...
Win32 API:D3D12_RAYTRACING_GEOMETRY_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_GEOMETRY_FLAGS 枚举用于指定光线追踪几何体的标志。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_GEOMETRY_FLAG_NONE: 无特殊标志。2. D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE: 几何体是不透明的,即不允许光线穿过它。3. D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION: 避免在任何命中着色器调用中处理重复的击中。4. D3D12_RAYTRACING_GEOMETRY_FLAG_USE_SINGLE_INSTANCE: 指示几何体是单一实例,不包含重复的实例。这些标志用于配置光线追踪几何体的行为,以影响光线追踪过程中的着色器调用和击中测试。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_GEOMETRY_FLAGS 枚举:#include <d3d12.h>// 其他代...
Win32 API:D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE 枚举用于指定光线追踪加速结构的类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL: 顶层加速结构,用于表示场景中的物体。2. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL: 底层加速结构,用于表示场景中的几何体。这些类型用于在光线追踪中表示不同级别的加速结构,以提高光线追踪效率。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE 枚举:#include <d3d12.h>// 其他代码...// 配置光线追踪加速结构的类型D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE accelerationStructureType ...
Win32 API:D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE 枚举用于指定光线追踪加速结构构建后的信息类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE: 获取压缩后的加速结构占用的大小。2. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION: 用于调试和可视化工具的信息。这些信息类型用于获取构建加速结构后的相关信息,例如压缩后的大小或用于调试的可视化信息。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE 枚举:#include <d3d12.h>// 其他代码...// 配置获取光线追踪加速结构构建后...
Win32 API:D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE 枚举用于指定光线追踪加速结构的复制模式。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE: 克隆加速结构,创建一个与原始加速结构相同的副本。2. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT: 复制并压缩加速结构,创建一个更紧凑的副本,通常用于优化内存使用。这些复制模式用于在光线追踪场景中管理加速结构的复制和更新。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE 枚举:#include <d3d12.h>// 其他代码...// 配置光线追踪加速结构的复制模式D3D12_RAYTRACING_ACCELERATION_STRUCTURE_CO...
Win32 API:D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS 枚举用于指定光线追踪加速结构构建的标志。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE: 无特殊标志。2. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE: 允许对加速结构进行更新。3. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION: 允许对加速结构进行压缩。4. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE: 优先选择加速结构以获得更快的追踪性能。5. D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_F...
Win32 API:D3D12_RAY_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAY_FLAGS 枚举用于指定光线追踪命中和反射等光线追踪操作的标志。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAY_FLAG_NONE: 无特殊标志。2. D3D12_RAY_FLAG_FORCE_OPAQUE: 强制所有物体都被视为不透明。3. D3D12_RAY_FLAG_FORCE_NON_OPAQUE: 强制所有物体都被视为透明。4. D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH: 命中第一个物体后立即结束搜索。5. D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER: 跳过最近的命中着色器。6. D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES: 剔除背对面的三角形。7. D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES: 剔除正对面的三角形。8. D3D12_RAY_FLAG_CULL_OPAQUE: 剔除不透明物体。9. D3...
Win32 API:D3D12_QUERY_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_QUERY_TYPE 枚举用于指定查询类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_QUERY_TYPE_OCCLUSION: 用于执行遮挡查询。2. D3D12_QUERY_TYPE_BINARY_OCCLUSION: 二进制遮挡查询,返回遮挡的布尔值。3. D3D12_QUERY_TYPE_TIMESTAMP: 用于执行时间戳查询。4. D3D12_QUERY_TYPE_PIPELINE_STATISTICS: 用于执行流水线统计查询。5. D3D12_QUERY_TYPE_SO_STATISTICS: 用于执行流输出统计查询。6. D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS: 用于执行视频解码统计查询。以下是一个示例代码片段,演示了如何使用 D3D12_QUERY_TYPE 枚举:#include <d3d12.h>// 其他代码...// 创建查询堆时,指定查询的类型D3D12_QUERY_HEAP_DESC queryHeap...
Win32 API:D3D12_QUERY_HEAP_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_QUERY_HEAP_TYPE 枚举用于指定查询堆的类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_QUERY_HEAP_TYPE_OCCLUSION: 用于执行遮挡查询的查询堆。2. D3D12_QUERY_HEAP_TYPE_TIMESTAMP: 用于执行时间戳查询的查询堆。3. D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS: 用于执行流水线统计查询的查询堆。4. D3D12_QUERY_HEAP_TYPE_SO_STATISTICS: 用于执行流输出统计查询的查询堆。5. D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS: 用于执行视频解码统计查询的查询堆。6. D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP: 用于执行拷贝队列时间戳查询的查询堆。以下是一个示例代码片段,演示了如何使用 D3D12_QUERY_HEAP_TYPE 枚举:#include <d3...
Win32 API:D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER 枚举用于指定可编程多采样位置的支持级别。这个枚举定义在 D3d12.h 头文件中,并包含以下成员:1. D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED: 不支持可编程多采样位置。2. D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1: 支持 Tier 1 的可编程多采样位置。3. D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2: 支持 Tier 2 的可编程多采样位置。这个枚举用于表示图形设备对于可编程多采样位置的支持程度。可编程多采样位置允许开发者更灵活地控制多采样时的样本位置,有助于提高图形渲染的质量。以下是一个示例代码片段,演示了如何使用 D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER 枚举:#include <d3d12.h>// 其他代码...// 查询设备支持...
Win32 API:D3D12_PRIMITIVE_TOPOLOGY_TYPE 枚举(D3d12.h)
D3D12_PRIMITIVE_TOPOLOGY_TYPE 是 Direct3D 12 中的一个枚举类型,定义了图元的拓扑类型。这个枚举在 D3d12.h 头文件中声明,包含以下几个成员:1. D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED: 未定义的拓扑类型。2. D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT: 点列表。3. D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE: 线列表。4. D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE: 三角形列表。5. D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH: 用于贴花的曲面拓扑类型。这个枚举类型一般在创建图元拓扑时使用,通过设置图元拓扑类型,你可以定义渲染管线中如何处理图元的连接和组织。以下是一个示例代码片段,演示了如何使用 D3D12_PRIMITIVE_TOPOLOGY_TYPE 枚举:#include <d3d12.h>// 其他代码...// 在创建渲染流水线时,设置图元拓扑类型D3D1...
Win32 API:D3D12_PREDICATION_OP 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_PREDICATION_OP 枚举是用于定义预测操作的枚举类型。预测操作通常用于在绘制之前测试某个条件,并根据条件的结果来决定是否执行绘制操作。以下是 D3D12_PREDICATION_OP 枚举的定义:typedef enum D3D12_PREDICATION_OP { D3D12_PREDICATION_OP_EQUAL_ZERO = 0, D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1} D3D12_PREDICATION_OP;这个枚举定义了两种预测操作类型:1. D3D12_PREDICATION_OP_EQUAL_ZERO: 表示等于零。2. D3D12_PREDICATION_OP_NOT_EQUAL_ZERO: 表示不等于零。这些预测操作通常与 ID3D12GraphicsCommandList::SetPredication 方法一起使用,该方法用于设置预测条件。通过设置预测条件,可以在绘制之前进行条件测试,以确定是否...
Win32 API:D3D12_PIPELINE_STATE_SUBOBJECT_TYPE 枚举(D3d12.h)
在Win32 API的Direct3D 12中,D3D12_PIPELINE_STATE_SUBOBJECT_TYPE 枚举是用于描述管线状态(pipeline state)子对象的类型的枚举。这个枚举定义了不同类型的子对象,每个子对象对应于管线状态的不同方面。以下是该枚举的定义:typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE { D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS, D3D12_PI...
Win32 API:D3D12_META_COMMAND_PARAMETER_TYPE 枚举(D3d12.h)
在 Direct3D 12 API 中,D3D12_META_COMMAND_PARAMETER_TYPE 枚举用于表示元命令(meta-command)参数的类型。以下是 D3D12_META_COMMAND_PARAMETER_TYPE 枚举的可能值:typedef enum D3D12_META_COMMAND_PARAMETER_TYPE{ D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT, D3D12_META_COMMAND_PARAMETER_TYPE_UINT64, D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS, D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV, D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV, D3D12_META...
Win32 API:D3D12_MESH_SHADER_TIER 枚举(D3d12.h)
在 Direct3D 12 API 中,D3D12_MESH_SHADER_TIER 枚举用于表示硬件对网格着色器(Mesh Shader)的支持级别。以下是 D3D12_MESH_SHADER_TIER 枚举的可能值:typedef enum D3D12_MESH_SHADER_TIER{ D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0, D3D12_MESH_SHADER_TIER_1 = 1, D3D12_MESH_SHADER_TIER_2 = 2} D3D12_MESH_SHADER_TIER; D3D12_MESH_SHADER_TIER_NOT_SUPPORTED: 表示硬件不支持网格着色器。 D3D12_MESH_SHADER_TIER_1: 表示硬件支持 Mesh Shader Tier 1。 D3D12_MESH_SHADER_TIER_2: 表示硬件支持 Mesh Shader Tier 2。Mesh Shader 是 Direct3D 12 中引入的一种新的着色器类型,用于提高图形渲染的效率,特别是在处理大规模...
Win32 API:D3D12_MEMORY_POOL 枚举(D3d12.h)
D3D12_MEMORY_POOL 枚举是 Direct3D 12 API 中用于表示资源内存池类型的枚举。这个枚举定义了可以用于创建资源的不同内存池。以下是 D3D12_MEMORY_POOL 枚举的可能值:typedef enum D3D12_MEMORY_POOL{ D3D12_MEMORY_POOL_UNKNOWN = 0, D3D12_MEMORY_POOL_L0 = 1, D3D12_MEMORY_POOL_L1 = 2, D3D12_MEMORY_POOL_TEXT = 3, D3D12_MEMORY_POOL_VIDEO = 4,} D3D12_MEMORY_POOL; D3D12_MEMORY_POOL_UNKNOWN: 表示内存池类型未知。 D3D12_MEMORY_POOL_L0: 表示内存池为 L0 类型。 D3D12_MEMORY_POOL_L1: 表示内存池为 L1 类型。 D3D12_MEMORY_POOL_TEXT: 表示内存池为文本类型。 D3D12_MEMORY_POOL_VIDEO: 表示内存池为视频类型。这些内存池类...
Win32 API:D3D12_LOGIC_OP 枚举(D3d12.h)
在 Direct3D 12 API 中,D3D12_LOGIC_OP 枚举用于表示逻辑运算操作。逻辑运算是指对图形数据的二进制位进行逻辑操作,通常用于混合(blending)和像素处理。以下是 D3D12_LOGIC_OP 枚举的可能值:typedef enum D3D12_LOGIC_OP{ D3D12_LOGIC_OP_CLEAR = 0, D3D12_LOGIC_OP_SET = 1, D3D12_LOGIC_OP_COPY = 2, D3D12_LOGIC_OP_COPY_INVERTED = 3, D3D12_LOGIC_OP_NOOP = 4, D3D12_LOGIC_OP_INVERT = 5, D3D12_LOGIC_OP_AND = 6, D3D12_LOGIC_OP_NAND = 7, D3D12_LOGIC_OP_OR = 8, D3D12_LOGIC_OP_NOR = 9, D3D12_LOGIC_OP_XOR = 10, D3D12_LOGIC_OP_EQUIV = 11, D3D1...
Win32 API:D3D12_INPUT_CLASSIFICATION 枚举(D3d12.h)
D3D12_INPUT_CLASSIFICATION 枚举是 Direct3D 12 API 中用于描述输入布局的分类方式的枚举。这个枚举主要用于定义顶点输入数据的组织方式。以下是 D3D12_INPUT_CLASSIFICATION 枚举的可能值:typedef enum D3D12_INPUT_CLASSIFICATION{ D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1} D3D12_INPUT_CLASSIFICATION; D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA: 表示输入数据在每个顶点之间是独立的,每个顶点都有自己的输入数据。 D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA: 表示输入数据在每个实例之间是独立的,而不是每个顶点。这个枚举通常与顶点缓冲区的描述一起使用,以确定顶点数据的布局方式。在创建输入布局(Input Layo...
Win32 API:D3D12_INDIRECT_ARGUMENT_TYPE 枚举(D3d12.h)
D3D12_INDIRECT_ARGUMENT_TYPE 枚举是 Direct3D 12 API 中用于指定间接参数类型的枚举。这个枚举用于描述在绘制调用中使用的间接参数的类型。以下是 D3D12_INDIRECT_ARGUMENT_TYPE 枚举的可能值:typedef enum D3D12_INDIRECT_ARGUMENT_TYPE{ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0, D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = 1, D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = 2, D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = 3, D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = 4, D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = 5, D3D12_INDIRECT_ARGUMENT_TYPE_C...