在 Direct3D 12 中,D3D12_RENDER_TARGET_BLEND_DESC 是一个结构体,用于描述渲染目标的混合状态。以下是 D3D12_RENDER_TARGET_BLEND_DESC 结构的定义:typedef struct D3D12_RENDER_TARGET_BLEND_DESC { BOOL BlendEnable; BOOL LogicOpEnable; D3D12_BLEND SrcBlend; D3D12_BLEND DestBlend; D3D12_BLEND_OP BlendOp; D3D12_BLEND SrcBlendAlpha; D3D12_BLEND DestBlendAlpha; D3D12_BLEND_OP BlendOpAlpha; D3D12_LOGIC_OP LogicOp; UINT8 RenderTargetWriteMask;} D3D12_RENDER_TARGET_BLEND_DESC;结构体成员的含义如下: Blen...
在 Direct3D 12 中,D3D12_RENDER_PASS_RENDER_TARGET_DESC 是一个结构体,用于描述渲染通道(render pass)中渲染目标的状态和访问。以下是 D3D12_RENDER_PASS_RENDER_TARGET_DESC 结构的定义:typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC { D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess; D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess;} D3D12_RENDER_PASS_RENDER_TARGET_DESC;结构体成员的含义如下: cpuDescriptor: CPU 描述符句柄,表示渲染通道中的渲染目标。 BeginningAccess: 起始访问描述渲染目标的访问方式,是一个 D3D12_RENDER_PASS_BEGINNING_ACCE...
在 Direct3D 12 中,D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS 是一个结构体,用于描述渲染通道(render pass)中的解析(resolve)操作的子资源参数。以下是 D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS 结构的定义:typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS { UINT SrcSubresource; UINT DstSubresource; D3D12_RECT SrcRect; D3D12_RECT DstRect; D3D12_RECT SrcDeltas; D3D12_RECT DstDeltas;} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS;结构体成员的含义如下: SrcSubreso...
在 Direct3D 12 中,D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS 是一个结构体,用于描述渲染通道(render pass)中的解析(resolve)操作的参数。以下是 D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS 结构的定义:typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS { D3D12_RESOURCE_STATES SourceResourceState; D3D12_RESOURCE_STATES DestinationResourceState; D3D12_CPU_DESCRIPTOR_HANDLE DestinationSubresource; D3D12_RECT SourceRect; D3D12_RECT DestinationRect; D3D12_RECT S...
在 Direct3D 12 中,D3D12_RENDER_PASS_ENDING_ACCESS 是一个结构体,用于描述渲染通道(render pass)中的结束访问的方式。以下是 D3D12_RENDER_PASS_ENDING_ACCESS 结构的定义:typedef struct D3D12_RENDER_PASS_ENDING_ACCESS { D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type; D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;} D3D12_RENDER_PASS_ENDING_ACCESS;结构体成员的含义如下: Type: 枚举类型,指定结束访问的类型。可以是以下值之一: - D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE: 保留内容,不进行任何操作。 - D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE: 执行解析操作。 Resolve: 结构体,用于指定解析(r...
在 Direct3D 12 中,D3D12_RENDER_PASS_DEPTH_STENCIL_DESC 是一个结构体,用于描述深度/模板缓冲区的状态和访问。以下是 D3D12_RENDER_PASS_DEPTH_STENCIL_DESC 结构的定义:typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC { D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess; D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess; D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess; D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess; D3D12_CLEAR_FLAGS ClearFlags; FLOAT DepthValue; UINT8 StencilValu...
在 Direct3D 12 中,D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS 是一个结构体,用于描述渲染通道(render pass)中的清除操作的参数。以下是 D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS 结构的定义:typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS { D3D12_CLEAR_VALUE ClearValue;} D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;结构体成员的含义如下: ClearValue: D3D12_CLEAR_VALUE 结构,用于指定要用于清除的颜色或深度模板值。这个结构体是 D3D12_RENDER_PASS_BEGINNING_ACCESS 中的一部分,用于描述渲染通道的起始访问,当 Type 为 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEA...
在 Direct3D 12 中,D3D12_RENDER_PASS_BEGINNING_ACCESS 是一个结构体,用于描述渲染通道(render pass)的起始访问。以下是 D3D12_RENDER_PASS_BEGINNING_ACCESS 结构的定义:typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS { D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type; union { struct { D3D12_CPU_DESCRIPTOR_HANDLE CPUHandle; } Clear; D3D12_RENDER_PASS_BEGINNING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS Resolve; };} D3D12_RENDER_PASS_BEGINNING_ACCESS;结构体成员的含义如下: Type: 枚举类型,指定渲染通道的起始访问类型。可以是以下值之一: - D3D12_RENDER_PASS_BEGINNIN...
在 Direct3D 12 中,D3D12_RAYTRACING_SHADER_CONFIG 是一个结构体,用于配置射线追踪着色器的一些属性。以下是 D3D12_RAYTRACING_SHADER_CONFIG 结构的定义:typedef struct D3D12_RAYTRACING_SHADER_CONFIG { UINT MaxPayloadSizeInBytes; UINT MaxAttributeSizeInBytes;} D3D12_RAYTRACING_SHADER_CONFIG;结构体成员的含义如下: MaxPayloadSizeInBytes: 指定着色器程序输出的负载(payload)的最大大小(以字节为单位)。负载是指着色器程序每次执行时写入的数据,例如,颜色、法线等。 MaxAttributeSizeInBytes: 指定程序化几何体的属性的最大大小(以字节为单位)。这是程序化几何体的每个顶点的属性的最大大小。这个结构体通常用于在创建射线追踪管线时,通过将其作为参数传递给 ID3D12Device5 接口的 CreateStateObject 方法,配置射线...
在 Direct3D 12 中,D3D12_RAYTRACING_PIPELINE_CONFIG1 是一个结构体,用于配置射线追踪管线的一些属性。该结构体在 D3D12 SDK 版本 1.4 及之后的版本中引入。以下是 D3D12_RAYTRACING_PIPELINE_CONFIG1 结构的定义:typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1 { UINT MaxTraceRecursionDepth; D3D12_RAYTRACING_PIPELINE_FLAG PipelineFlags; UINT32 MaxAttributeSizeInBytes; UINT32 MaxPayloadSizeInBytes;} D3D12_RAYTRACING_PIPELINE_CONFIG1;结构体成员的含义如下: MaxTraceRecursionDepth: 指定光线追踪的最大递归深度。这表示光线可以被递归地追踪的次数。 PipelineFlags: 一个位掩码,用于指定射线追踪管线的标志。可以是以下值之一或它们的组合: -...
在 Direct3D 12 中,D3D12_RAYTRACING_PIPELINE_CONFIG 是一个结构体,用于配置射线追踪管线的一些属性。以下是 D3D12_RAYTRACING_PIPELINE_CONFIG 结构的定义:typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG { UINT MaxTraceRecursionDepth;} D3D12_RAYTRACING_PIPELINE_CONFIG;结构体成员的含义如下: MaxTraceRecursionDepth: 指定光线追踪的最大递归深度。这表示光线可以被递归地追踪的次数。递归的意思是当一条光线与一个物体相交后,可能会生成新的光线用于进一步追踪,最大递归深度就规定了这个追踪的层数。这个结构体是在创建射线追踪管线时使用的一部分,通过将其作为参数传递给 ID3D12Device5 接口的 CreateStateObject 方法,可以配置射线追踪管线的一些参数,例如递归深度。
在 Direct3D 12 中,D3D12_RAYTRACING_INSTANCE_DESC 是一个结构体,用于描述射线追踪场景中的实例。这个结构体包含有关实例的信息,如变换矩阵和透明度。以下是 D3D12_RAYTRACING_INSTANCE_DESC 结构的定义:typedef struct D3D12_RAYTRACING_INSTANCE_DESC { FLOAT Transform[3][4]; UINT InstanceID : 24; UINT InstanceMask : 8; UINT InstanceContributionToHitGroupIndex : 24; UINT Flags : 8; D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;} D3D12_RAYTRACING_INSTANCE_DESC;结构体成员的含义如下: Transform: 3x4 的变换矩阵,用于将实例的局部坐标系变换到全局坐标系。每个元素都是 32 位浮点数。 InstanceID: 24 位的实例 ID,用于在...
在 Direct3D 12 中,D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 是 D3D12_RAYTRACING_GEOMETRY_DESC 结构体中用于描述三角形几何体的嵌套结构。以下是 D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 结构的定义:typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC { D3D12_GPU_VIRTUAL_ADDRESS Transform3x4; DXGI_FORMAT IndexFormat; DXGI_FORMAT VertexFormat; UINT IndexCount; UINT VertexCount; D3D12_RAYTRACING_GEOMETRY_TRIANGLES_FLAGS Flags;} D3D12_RAYTRACING_GEOMETRY...
在 Direct3D 12 中,D3D12_RAYTRACING_GEOMETRY_DESC 是一个结构体,用于描述射线追踪光线几何体(Ray Tracing Geometry)。这个结构体可以用于创建光线追踪的加速结构。以下是 D3D12_RAYTRACING_GEOMETRY_DESC 结构的定义:typedef struct D3D12_RAYTRACING_GEOMETRY_DESC { D3D12_RAYTRACING_GEOMETRY_TYPE Type; D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; union { struct { D3D12_GPU_VIRTUAL_ADDRESS Transform3x4; DXGI_FORMAT IndexFormat; DXGI_FORMAT VertexFormat; UINT IndexCount; UINT ...
在 Direct3D 12 中,D3D12_RAYTRACING_GEOMETRY_AABBS_DESC 是一个结构体,用于描述射线追踪光线几何体(Ray Tracing Geometry)中的轴对齐包围盒(AABBs)。以下是 D3D12_RAYTRACING_GEOMETRY_AABBS_DESC 结构的定义:typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC { D3D12_GPU_VIRTUAL_ADDRESS AabbData; UINT64 AabbOffset; UINT32 AabbCount; UINT32 StrideInBytes;} D3D12_RAYTRACING_GEOMETRY_AABBS_DESC;结构体成员的含义如下: AabbData: 表示包含轴对齐包围盒数据的 GPU 缓冲区的虚拟地址。 AabbOffset: 表示轴对齐包围盒数据在缓冲区中的偏移量(以字节为单位)。 AabbCo...
在 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV 是一个结构体,用于描述射线追踪加速结构(Ray Tracing Acceleration Structure)的着色器资源视图。以下是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV 结构的定义:typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV { D3D12_GPU_VIRTUAL_ADDRESS Location;} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;结构体成员的含义如下: Location: 表示射线追踪加速结构的 GPU 虚拟地址。这是加速结构的位置信息。这个结构体通常用于在射线追踪着色器中绑定加速结构作为资源。通过将这个结构体传递给 HLSL 着色器,你可以在射线追踪着色器中使用这个加速结构来进行光线与场景物体的相交测试。在使用射线追踪 API 时,你可以通过创建一个 D3D12_SHADER_R...
在 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO 是一个结构体,用于在构建射线追踪加速结构(Ray Tracing Acceleration Structure)之前获取一些预建信息。以下是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO 结构的定义:typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO { UINT64 ResultDataMaxSizeInBytes; UINT64 ScratchDataSizeInBytes; UINT64 UpdateScratchDataSizeInBytes;} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;结构体成员的含义如下: ResultDataMaxSizeInBytes: 表示构建加速结构时所需的结果数据的最大大小(以字节为单位)。 ...
在 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC 是一个结构体,用于在构建射线追踪加速结构(Ray Tracing Acceleration Structure)后,获取用于调试和可视化工具的信息。以下是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC 结构的定义:typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC { D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; UINT ...
在 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC 是一个结构体,用于在构建射线追踪加速结构(Ray Tracing Acceleration Structure)后,获取用于序列化和反序列化加速结构的相关信息。以下是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC 结构的定义:typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC { D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; UINT ...
在 Direct3D 12 中,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC 是一个结构体,用于在构建射线追踪加速结构(Ray Tracing Acceleration Structure)后获取一些相关信息。以下是 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC 结构的定义:typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC { D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; UINT NumDescs;} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTB...
最新文章