Win32 API:D3D12_SAMPLER_FEEDBACK_TIER 枚举(D3d12.h)
在Direct3D 12中,D3D12_SAMPLER_FEEDBACK_TIER 枚举用于表示采样器反馈(Sampler Feedback)的硬件支持级别。采样器反馈是一种技术,用于提高纹理采样的效率,通过记录着色器对纹理采样的反馈信息,可以在后续的渲染中使用以优化采样过程。以下是 D3D12_SAMPLER_FEEDBACK_TIER 枚举的定义:typedef enum D3D12_SAMPLER_FEEDBACK_TIER { D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0, D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 1, D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 2} ;这个枚举定义了三个级别: D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED: 不支持采样器反馈。 D3D12_SAMPLER_FEEDBACK_TIER_0_9: 采样器反馈支持级别 0.9。 D3D12_SAMPLER_FEEDBACK_TIER_1_0: 采样器反馈支持级...
Win32 API:D3D12_RTV_DIMENSION 枚举(D3d12.h)
在Direct3D 12中,D3D12_RTV_DIMENSION 枚举用于表示渲染目标视图(RenderTargetView,RTV)的维度类型。RenderTargetView是一种用于将渲染结果输出到纹理的视图。以下是 D3D12_RTV_DIMENSION 枚举的定义:typedef enum D3D12_RTV_DIMENSION { D3D12_RTV_DIMENSION_UNKNOWN = 0, D3D12_RTV_DIMENSION_BUFFER = 1, D3D12_RTV_DIMENSION_TEXTURE1D = 2, D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, D3D12_RTV_DIMENSION_TEXTURE2D = 4, D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, D3D12_RTV_DIMENSION_TEXT...
Win32 API:D3D12_ROOT_SIGNATURE_FLAGS 枚举(D3d12.h)
在Direct3D 12中,D3D12_ROOT_SIGNATURE_FLAGS 枚举用于表示根签名(Root Signature)的标志位。根签名定义了着色器需要的资源,以及资源在管线中的绑定方式。以下是 D3D12_ROOT_SIGNATURE_FLAGS 枚举的定义:typedef enum D3D12_ROOT_SIGNATURE_FLAGS { D3D12_ROOT_SIGNATURE_FLAG_NONE = 0, D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1, D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2, D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4, D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, D3D12_R...
Win32 API:D3D12_ROOT_PARAMETER_TYPE 枚举(D3d12.h)
在Direct3D 12中,D3D12_ROOT_PARAMETER_TYPE 枚举用于表示根签名(Root Signature)中根参数的类型。根签名定义了着色器需要的资源,而根参数是根签名的一部分,用于指定着色器中的资源绑定。以下是 D3D12_ROOT_PARAMETER_TYPE 枚举的定义:typedef enum D3D12_ROOT_PARAMETER_TYPE { D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0, D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = 1, D3D12_ROOT_PARAMETER_TYPE_CBV = 2, D3D12_ROOT_PARAMETER_TYPE_SRV = 3, D3D12_ROOT_PARAMETER_TYPE_UAV = 4} ;这个枚举定义了五种根参数类型: D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE: 表示...
Win32 API:D3D12_ROOT_DESCRIPTOR_FLAGS 枚举(D3d12.h)
在Direct3D 12中,D3D12_ROOT_DESCRIPTOR_FLAGS 枚举用于表示根签名(Root Signature)中描述符的标志位。根签名定义了着色器需要的资源,而描述符则是根签名中的一部分,用于指定着色器中的资源绑定。以下是 D3D12_ROOT_DESCRIPTOR_FLAGS 枚举的定义:typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS { D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x1, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x2, D3D12_ROOT_DESCRIPTOR_FLAG_VOLATILE = 0x4, D3D12_ROOT_DESCRIPTOR_FLAG_CBV_SRV_UAV = 0x100} ;这个枚举定义了一些描述符的标志位: D3D12_ROOT_DESCRIPTOR_FLAG_N...
Win32 API:D3D12_RESOURCE_STATES 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_STATES 枚举用于表示资源的状态。资源状态描述了资源在GPU管线中的使用方式,例如作为渲染目标、深度/模板缓冲区、着色器资源等。以下是 D3D12_RESOURCE_STATES 枚举的定义:typedef enum D3D12_RESOURCE_STATES { D3D12_RESOURCE_STATE_COMMON = 0, D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1, D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2, D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4, D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8, D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10, D...
Win32 API:D3D12_RESOURCE_HEAP_TIER 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_HEAP_TIER 枚举用于表示资源堆(Resource Heap)的级别。资源堆是一种用于存储图形资源的内存管理结构。以下是 D3D12_RESOURCE_HEAP_TIER 枚举的定义:typedef enum D3D12_RESOURCE_HEAP_TIER { D3D12_RESOURCE_HEAP_TIER_1 = 1, D3D12_RESOURCE_HEAP_TIER_2 = 2} ;这个枚举定义了两个级别: D3D12_RESOURCE_HEAP_TIER_1: 表示资源堆级别 1,即较低的硬件支持水平。 D3D12_RESOURCE_HEAP_TIER_2: 表示资源堆级别 2,即中等硬件支持水平。资源堆级别决定了硬件对于资源堆的特性和支持程度。较高级别的硬件通常能够支持更大、更复杂的资源堆,从而提供更高的图形性能。在开发图形应用程序时,了解和利用正确的资源堆级别可以优化内存管理并提高渲染性能。
Win32 API:D3D12_RESOURCE_FLAGS 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_FLAGS 枚举是用于描述资源标志位的枚举类型。这些标志位用于在创建资源时指定一些附加属性。以下是 D3D12_RESOURCE_FLAGS 枚举的定义:typedef enum D3D12_RESOURCE_FLAGS { D3D12_RESOURCE_FLAG_NONE = 0, D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20} ;这个...
Win32 API:D3D12_RESOURCE_DIMENSION 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_DIMENSION 枚举用于表示资源的维度类型。资源的维度类型描述了资源的形状和用途。以下是 D3D12_RESOURCE_DIMENSION 枚举的定义:typedef enum D3D12_RESOURCE_DIMENSION { D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, D3D12_RESOURCE_DIMENSION_BUFFER = 1, D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4} ;这个枚举定义了五种资源维度类型: D3D12_RESOURCE_DIMENSION_UNKNOWN: 未知维度类型。 D3D12_RESOURCE_DIMENSION_BUFFER: 缓冲区维度,用于表示缓冲区资源。 D3D12_RESOURCE_DIMENSION_TEXTURE1D: 1D...
Win32 API:D3D12_RESOURCE_BINDING_TIER 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_BINDING_TIER 枚举是用于表示资源绑定级别(Resource Binding Tier)的枚举。资源绑定级别指示了硬件对于资源绑定的支持程度,特别是在支持多个资源绑定到同一个着色器阶段时。以下是 D3D12_RESOURCE_BINDING_TIER 枚举的定义:typedef enum D3D12_RESOURCE_BINDING_TIER { D3D12_RESOURCE_BINDING_TIER_1 = 1, D3D12_RESOURCE_BINDING_TIER_2 = 2, D3D12_RESOURCE_BINDING_TIER_3 = 3} ;这个枚举定义了三个绑定级别: D3D12_RESOURCE_BINDING_TIER_1: 表示绑定级别 1,较低的硬件支持水平。 D3D12_RESOURCE_BINDING_TIER_2: 表示绑定级别 2,中等硬件支持水平。 D3D12_RESOURCE_BINDING_TIER_3: 表示绑定级别 3,较高的硬件支持水平。资源绑定级别的提升通常意味着硬件...
Win32 API:D3D12_RESOURCE_BARRIER_TYPE 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_BARRIER_TYPE 枚举是用于表示资源屏障(Resource Barrier)的类型的枚举。资源屏障用于确保GPU在处理图形资源时的一致性。以下是 D3D12_RESOURCE_BARRIER_TYPE 枚举的定义:typedef enum D3D12_RESOURCE_BARRIER_TYPE { D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0, D3D12_RESOURCE_BARRIER_TYPE_ALIASING = (D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1), D3D12_RESOURCE_BARRIER_TYPE_UAV = (D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1)} ;这个枚举定义了三种类型的资源屏障: D3D12_RESOURCE_BARRIER_TYPE_TRANSITION: 表示资源状态转换。这种屏障用于在GPU访问...
Win32 API:D3D12_RESOURCE_BARRIER_FLAGS 枚举(D3d12.h)
在Direct3D 12中,D3D12_RESOURCE_BARRIER_FLAGS 枚举是用于表示资源屏障(Resource Barrier)的标志位的枚举类型。资源屏障是一种通信机制,用于确保GPU在处理图形资源时的一致性。以下是 D3D12_RESOURCE_BARRIER_FLAGS 枚举的定义:typedef enum D3D12_RESOURCE_BARRIER_FLAGS { D3D12_RESOURCE_BARRIER_FLAG_NONE = 0, D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, D3D12_RESOURCE_BARRIER_FLAG_ALL_SUBRESOURCES = 0x4} ;这个枚举定义了以下几个标志位: D3D12_RESOURCE_BARRIER_FLAG_NONE: 没有特殊标志,表示没有其他标志被设置。 D3D12_RESOURCE_BARRIER_FL...
Win32 API:D3D12_RESIDENCY_PRIORITY 枚举(D3d12.h)
D3D12_RESIDENCY_PRIORITY 枚举是Direct3D 12中的一个枚举类型,用于设置资源的优先级。在D3D12中,资源的优先级可以影响资源在GPU内存中的存储位置和调度顺序,从而影响渲染性能。以下是D3D12_RESIDENCY_PRIORITY 枚举的定义:typedef enum D3D12_RESIDENCY_PRIORITY { D3D12_RESIDENCY_PRIORITY_MINIMUM, D3D12_RESIDENCY_PRIORITY_LOW, D3D12_RESIDENCY_PRIORITY_NORMAL, D3D12_RESIDENCY_PRIORITY_HIGH, D3D12_RESIDENCY_PRIORITY_MAXIMUM} ;各个枚举成员的含义如下: D3D12_RESIDENCY_PRIORITY_MINIMUM: 最低优先级。 D3D12_RESIDENCY_PRIORITY_LOW: 低优先级。 D3D12_RESIDENCY_PRIORITY_NORMAL: 正常优先级。 D3D12_RESIDENCY_PRIORI...
Win32 API:D3D12_RESIDENCY_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RESIDENCY_FLAGS 枚举用于指定资源在 GPU 内存中的驻留行为。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RESIDENCY_FLAG_NONE: 无特殊标志。2. D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET: 驻留期间不允许资源超出预算。3. D3D12_RESIDENCY_FLAG_PARTIAL_RESIDENCY: 允许资源的部分驻留。这些标志用于配置资源在 GPU 内存中的驻留行为,影响资源的加载和卸载策略。以下是一个示例代码片段,演示了如何使用 D3D12_RESIDENCY_FLAGS 枚举:#include <d3d12.h>// 其他代码...// 配置资源在 GPU 内存中的驻留标志D3D12_RESIDENCY_FLAGS residencyFlags = D3D12_RESIDENCY_FLAG_NONE;residencyFlags |= D3D12_RESIDENCY_FLAG_DENY_OVERBUDG...
Win32 API:D3D12_RENDER_PASS_TIER 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RENDER_PASS_TIER 枚举用于指定系统对渲染通道的支持层级。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RENDER_PASS_TIER_0: 不支持渲染通道。2. D3D12_RENDER_PASS_TIER_1: 支持渲染通道 Tier 1 版本。这些层级标志用于检查系统是否支持特定版本的渲染通道。以下是一个示例代码片段,演示了如何使用 D3D12_RENDER_PASS_TIER 枚举:#include <d3d12.h>// 其他代码...// 查询系统对渲染通道的支持层级D3D12_RENDER_PASS_TIER renderPassTier = D3D12_RENDER_PASS_TIER_0;D3D12_FEATURE_DATA_D3D12_OPTIONS3 featureData = {};HRESULT hr = device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS3, &f...
Win32 API:D3D12_RENDER_PASS_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RENDER_PASS_FLAGS 枚举用于指定渲染通道的标志。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RENDER_PASS_FLAG_NONE: 无特殊标志。2. D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES: 允许渲染通道对 UAV(Unordered Access View)进行写入操作。3. D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS: 暂停渲染通道。这些标志用于配置渲染通道的行为,以影响在渲染通道执行期间的一些方面。以下是一个示例代码片段,演示了如何使用 D3D12_RENDER_PASS_FLAGS 枚举:#include <d3d12.h>// 其他代码...// 配置渲染通道的标志D3D12_RENDER_PASS_FLAGS renderPassFlags = D3D12_RENDER_PASS_FLAG_NONE;renderPassFlags |= D3D12_RENDER_PASS...
Win32 API:D3D12_RENDER_PASS_ENDING_ACCESS_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RENDER_PASS_ENDING_ACCESS_TYPE 枚举用于指定渲染通道结束阶段的资源访问类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD: 渲染通道结束时,对资源进行丢弃(discard)访问。2. D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE: 渲染通道结束时,保持对资源的内容不变。3. D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE: 渲染通道结束时,将多重采样资源解析为单一采样资源。这些访问类型用于定义渲染通道的结束访问模式,以影响在渲染通道结束时对资源的处理方式。以下是一个示例代码片段,演示了如何使用 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE 枚举:#include <d3d12.h>// 其他代码...// 配置渲染通道结束阶段的资源访问类型D3D12_REND...
Win32 API:D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE 枚举用于指定渲染通道起始阶段的资源访问类型。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD: 渲染通道起始时,对资源进行丢弃(discard)访问。2. D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE: 渲染通道起始时,保持对资源的内容不变。这些访问类型用于定义渲染通道的起始访问模式,以影响在渲染通道开始时对资源的处理方式。以下是一个示例代码片段,演示了如何使用 D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE 枚举:#include <d3d12.h>// 其他代码...// 配置渲染通道起始阶段的资源访问类型D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE beginningAccessType = D3D12_R...
Win32 API:D3D12_RAYTRACING_TIER 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_TIER 枚举用于指定系统对光线追踪的支持层级。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_TIER_NOT_SUPPORTED: 不支持光线追踪。2. D3D12_RAYTRACING_TIER_1_0: 支持 DirectX 12 光线追踪层级 1.0 版本。3. D3D12_RAYTRACING_TIER_1_1: 支持 DirectX 12 光线追踪层级 1.1 版本。这些层级标志用于检查系统是否支持特定版本的光线追踪。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_TIER 枚举:#include <d3d12.h>// 其他代码...// 查询系统对光线追踪的支持层级D3D12_RAYTRACING_TIER raytracingTier = D3D12_RAYTRACING_TIER_NOT_SUPPORTED;D3D12_FEATURE_DATA_D3D12_OPTIONS5 featureD...
Win32 API:D3D12_RAYTRACING_PIPELINE_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_RAYTRACING_PIPELINE_FLAGS 枚举用于指定光线追踪管线的标志。这个枚举定义在 D3d12.h 头文件中,包含以下成员:1. D3D12_RAYTRACING_PIPELINE_FLAG_NONE: 无特殊标志。2. D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES: 在光线追踪管线中跳过三角形的处理。3. D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES: 在光线追踪管线中跳过程序化基本体的处理。这些标志用于配置光线追踪管线的行为,以影响光线追踪过程中的特定类型几何体的处理。以下是一个示例代码片段,演示了如何使用 D3D12_RAYTRACING_PIPELINE_FLAGS 枚举:#include <d3d12.h>// 其他代码...// 配置光线追踪管线的标志D3D12_RAYTRACING_PIPELINE_FLAGS pipelineFlags = D3D12_RAYT...