Win32 API:D3D12_HEAP_TYPE 枚举(D3d12.h)
在 Direct3D 12 API 中,D3D12_HEAP_TYPE 枚举用于指定堆(Heap)的类型。堆是用于存储资源的内存区域,包括缓冲区和纹理等。以下是 D3D12_HEAP_TYPE 枚举的可能值:typedef enum D3D12_HEAP_TYPE{ D3D12_HEAP_TYPE_DEFAULT = 1, D3D12_HEAP_TYPE_UPLOAD = 2, D3D12_HEAP_TYPE_READBACK = 3, D3D12_HEAP_TYPE_CUSTOM = 4} D3D12_HEAP_TYPE;这些值包括: D3D12_HEAP_TYPE_DEFAULT: 默认堆类型,用于存储 GPU 访问的资源,通常是存储纹理和缓冲区等资源的地方。 D3D12_HEAP_TYPE_UPLOAD: 上传堆,用于存储 CPU 向 GPU 上传数据的资源,例如顶点缓冲区。 D3D12_HEAP_TYPE_READBACK: 读回堆,用于存储 GPU 中的资源数据,以便 CPU 读取。 D3D12_HEAP_TYPE_CUSTOM: 自定义堆类型,用于指...
Win32 API:D3D12_HEAP_FLAGS 枚举(D3d12.h)
在 Direct3D 12 API 中,D3D12_HEAP_FLAGS 枚举用于指定堆(Heap)的标志,这些标志用于描述堆的一些特性和属性。堆是用于存储资源的内存区域,包括缓冲区和纹理等。以下是 D3D12_HEAP_FLAGS 枚举的可能值:typedef enum D3D12_HEAP_FLAGS{ D3D12_HEAP_FLAG_NONE = 0, D3D12_HEAP_FLAG_SHARED = 0x1, D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4, D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8, D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100, D3D12_HE...
Win32 API:D3D12_GRAPHICS_STATES 枚举(D3d12.h)
D3D12_GRAPHICS_STATES 枚举是 Direct3D 12 API 中的一个枚举,用于表示图形资源的状态。这个枚举定义了一系列图形资源可以处于的状态,这些状态包括图形管道的各个阶段,如输入装配、光栅化、像素处理等。这些状态是用于描述 GPU 中图形资源在不同操作阶段的状态,以优化图形渲染的性能。以下是 D3D12_GRAPHICS_STATES 枚举的一些常见值:typedef enum D3D12_GRAPHICS_STATES{ D3D12_GRAPHICS_STATE_NON_PIXEL_SHADER_RESOURCE = 0, D3D12_GRAPHICS_STATE_VERTEX_AND_CONSTANT_BUFFER = 0, D3D12_GRAPHICS_STATE_INDEX_BUFFER = 1, D3D12_GRAPHICS_STATE_RENDER_TARGET = 2, D3D12_GRAPHICS_STATE_UNORDERED_ACCESS_VIEW = 3, D3D12_GRAPHICS_STATE_DE...
Win32 API:D3D12_DESCRIPTOR_RANGE_FLAGS 枚举(D3d12.h)
D3D12_DESCRIPTOR_RANGE_FLAGS 枚举是Direct3D 12中的一部分,它用于描述描述符范围的标志。以下是 D3D12_DESCRIPTOR_RANGE_FLAGS 枚举的定义:typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS { D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0, D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS = (1 << 0), D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = (1 << 1), D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = (1 << 2), D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = (1 << 3), D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE_WHILE...
Win32 API:D3D12_DESCRIPTOR_HEAP_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_DESCRIPTOR_HEAP_TYPE 枚举用于表示描述符堆(Descriptor Heap)的类型。以下是该枚举的定义:typedef enum D3D12_DESCRIPTOR_HEAP_TYPE { D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0, D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = 1, D3D12_DESCRIPTOR_HEAP_TYPE_RTV = 2, D3D12_DESCRIPTOR_HEAP_TYPE_DSV = 3, D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = 4} D3D12_DESCRIPTOR_HEAP_TYPE;这个枚举包含了以下成员: D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV:表示存放常量缓冲视图(Constant Buffer Views)、着色器资源视图(Shader Resour...
Win32 API:D3D12_DESCRIPTOR_HEAP_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_DESCRIPTOR_HEAP_FLAGS 枚举用于表示描述符堆(Descriptor Heap)的标志。以下是该枚举的定义:typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS { D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, D3D12_DESCRIPTOR_HEAP_FLAG_RENDER_TARGET_VIEW = 0x2, D3D12_DESCRIPTOR_HEAP_FLAG_DEPTH_STENCIL_VIEW = 0x4, D3D12_DESCRIPTOR_HEAP_FLAG_CPU_VISIBLE = 0x8, D3D12_DESCRIPTOR_HEAP_FLAG_LARGE_PAGES =...
Win32 API:D3D12_DEPTH_WRITE_MASK 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_DEPTH_WRITE_MASK 枚举用于表示深度写入的掩码,即确定是否将新的深度值写入深度缓冲区。以下是该枚举的定义:typedef enum D3D12_DEPTH_WRITE_MASK { D3D12_DEPTH_WRITE_MASK_ZERO = 0, D3D12_DEPTH_WRITE_MASK_ALL = 1} D3D12_DEPTH_WRITE_MASK;这个枚举包含了以下两个成员: D3D12_DEPTH_WRITE_MASK_ZERO:表示不写入深度值,即深度缓冲区的内容不会被更新。 D3D12_DEPTH_WRITE_MASK_ALL:表示写入所有的深度值,即深度缓冲区的内容将被完全更新。深度写入掩码通常用于配置渲染目标的深度缓冲区写入行为。通过选择适当的深度写入掩码,应用程序可以控制哪些像素的深度值会被写入深度缓冲区。这对于实现特定的深度测试效果和优化渲染性能是很有用的。
Win32 API:D3D12_CULL_MODE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_CULL_MODE 枚举用于描述剔除模式,即在图元光栅化时确定哪些三角形应该被剔除。以下是该枚举的定义:typedef enum D3D12_CULL_MODE { D3D12_CULL_MODE_NONE = 1, D3D12_CULL_MODE_FRONT = 2, D3D12_CULL_MODE_BACK = 3} D3D12_CULL_MODE;这个枚举包含了以下成员: D3D12_CULL_MODE_NONE:表示不进行剔除,所有的三角形都会被保留。 D3D12_CULL_MODE_FRONT:表示剔除正面(前向)的三角形。 D3D12_CULL_MODE_BACK:表示剔除背面(背向)的三角形。剔除模式用于提高渲染性能,通过移除对观察者不可见的三角形来减少图形渲染的工作量。通常情况下,剔除背面的三角形是一种常见的优化手段,因为对于不透明物体,其背面通常是不可见的。
Win32 API:D3D12_CROSS_NODE_SHARING_TIER 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_CROSS_NODE_SHARING_TIER 枚举用于表示不同 GPU 节点之间共享资源的支持级别。以下是该枚举的定义:typedef enum D3D12_CROSS_NODE_SHARING_TIER { D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, D3D12_CROSS_NODE_SHARING_TIER_1 = 1, D3D12_CROSS_NODE_SHARING_TIER_2 = 2, D3D12_CROSS_NODE_SHARING_TIER_3 = 3} D3D12_CROSS_NODE_SHARING_TIER;这个枚举定义了以下级别: D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED:表示不支持不同 GPU 节点之间的资源共享。 D3D12_CROSS_NODE_SHARING_TIER_1:表示支持资源在不同 GPU 节点之间...
Win32 API:D3D12_CPU_PAGE_PROPERTY 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_CPU_PAGE_PROPERTY 枚举用于表示CPU可以访问资源的内存属性。以下是该枚举的定义:typedef enum D3D12_CPU_PAGE_PROPERTY { D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3} D3D12_CPU_PAGE_PROPERTY;这个枚举包含了以下几个成员: D3D12_CPU_PAGE_PROPERTY_UNKNOWN:表示内存属性未知。 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE:表示不可用,即不支持CPU访问。 D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE:表示支持写入合并(write-c...
Win32 API:D3D12_CONSERVATIVE_RASTERIZATION_TIER 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_CONSERVATIVE_RASTERIZATION_TIER 枚举用于表示设备的保守光栅化支持级别。以下是该枚举的定义:typedef enum D3D12_CONSERVATIVE_RASTERIZATION_TIER { D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3} D3D12_CONSERVATIVE_RASTERIZATION_TIER;这个枚举定义了以下级别: D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED:表示设备不支持保守光栅化。 D3D...
Win32 API:D3D12_CONSERVATIVE_RASTERIZATION_MODE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_CONSERVATIVE_RASTERIZATION_MODE 枚举用于描述保守光栅化模式,这是一种光栅化技术,用于确定像素是否位于图元的覆盖区域。以下是该枚举的定义:typedef enum D3D12_CONSERVATIVE_RASTERIZATION_MODE { D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1, D3D12_CONSERVATIVE_RASTERIZATION_MODE_UNDEFINED = 0xffffffff} D3D12_CONSERVATIVE_RASTERIZATION_MODE;这个枚举包含以下成员: D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF:表示保守光栅化被禁用,即使用传统的光栅化模式。 D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON:表示启用保...
Win32 API:D3D12_COMPARISON_FUNC 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_COMPARISON_FUNC 枚举用于描述深度模板测试和深度模板写入等操作中所使用的比较函数。以下是该枚举的定义:typedef enum D3D12_COMPARISON_FUNC { D3D12_COMPARISON_FUNC_NEVER = 1, D3D12_COMPARISON_FUNC_LESS = 2, D3D12_COMPARISON_FUNC_EQUAL = 3, D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, D3D12_COMPARISON_FUNC_GREATER = 5, D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, D3D12_COMPARISON_FUNC_ALWAYS = 8} D3D12_COMPARISON_FUNC;这个枚举定义了用于比较深度...
Win32 API:D3D12_COMMAND_QUEUE_PRIORITY 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_COMMAND_QUEUE_PRIORITY 枚举用于表示命令队列(Command Queue)的优先级。以下是该枚举的定义:typedef enum D3D12_COMMAND_QUEUE_PRIORITY { D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000} D3D12_COMMAND_QUEUE_PRIORITY;这个枚举包含了以下三个成员: D3D12_COMMAND_QUEUE_PRIORITY_NORMAL:表示普通优先级。这是默认的优先级。 D3D12_COMMAND_QUEUE_PRIORITY_HIGH:表示高优先级。 D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME:表示全局实时优先级。这是最高的优先级,用于实时任务,例如音频和视频...
Win32 API:D3D12_COMMAND_QUEUE_FLAGS 枚举(D3d12.h)
我之前的回答中包含了关于 D3D12_COMMAND_QUEUE_FLAGS 的信息。以下是再次提供的 D3D12_COMMAND_QUEUE_FLAGS 枚举的定义:typedef enum D3D12_COMMAND_QUEUE_FLAGS { D3D12_COMMAND_QUEUE_FLAG_NONE = 0, D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1} D3D12_COMMAND_QUEUE_FLAGS;这个枚举包含了以下两个成员: D3D12_COMMAND_QUEUE_FLAG_NONE:表示命令队列没有特殊的标志。 D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT:表示禁用 GPU 超时。如果启用了 GPU 超时,当 GPU 未能在指定的时间内完成任务时,可能会触发设备重置。通过设置这个标志,可以禁用这种超时机制。这些标志通常用于创建命令队列时,以指定队列的一些行为特性。
Win32 API:D3D12_COMMAND_LIST_TYPE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_COMMAND_LIST_TYPE 枚举用于表示不同类型的命令列表。以下是该枚举的定义:typedef enum D3D12_COMMAND_LIST_TYPE { D3D12_COMMAND_LIST_TYPE_DIRECT = 0, D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, D3D12_COMMAND_LIST_TYPE_COPY = 3, D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4, D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5, D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6, D3D12_COMMAND_LIST_TYPE_COPY_QUEUE_PRIMITIVE = 7, D3D12_COMMAND_LIST_TYPE_VIDEO...
Win32 API:D3D12_COMMAND_LIST_SUPPORT_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_COMMAND_LIST_SUPPORT_FLAGS 枚举用于描述命令列表(Command List)支持的一些特性。以下是该枚举的定义:typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS { D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0, D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = 0x1, D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = 0x2, D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = 0x4, D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 0x8, D3D12_CO...
Win32 API:D3D12_COMMAND_LIST_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_COMMAND_LIST_FLAGS 枚举用于描述命令列表(Command List)的一些标志,指定命令列表的行为。以下是该枚举的定义:typedef enum D3D12_COMMAND_LIST_FLAGS { D3D12_COMMAND_LIST_FLAG_NONE = 0, D3D12_COMMAND_LIST_FLAG_ENABLE_RAYTRACING = 0x1, D3D12_COMMAND_LIST_FLAG_DENY_USER_ATOMIC_OPS = 0x2, D3D12_COMMAND_LIST_FLAG_DENY_TEX_FETCH_OPS = 0x4, D3D12_COMMAND_LIST_FLAG_DENY_RT_DS_TEXTURES = 0x8} D3D12_COMMAND_LIST_FLAGS;这个枚举包含了以下几个成员: D3D12_COMMAND_LIST_FLAG_NONE:表示命令列表没有特殊的标志。 D3D12_COMMAND_...
Win32 API:D3D12_COLOR_WRITE_ENABLE 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_COLOR_WRITE_ENABLE 枚举用于描述像素着色器写入渲染目标时的颜色通道的启用或禁用情况。以下是该枚举的定义:typedef enum D3D12_COLOR_WRITE_ENABLE { D3D12_COLOR_WRITE_ENABLE_RED = 1, D3D12_COLOR_WRITE_ENABLE_GREEN = 2, D3D12_COLOR_WRITE_ENABLE_BLUE = 4, D3D12_COLOR_WRITE_ENABLE_ALPHA = 8, D3D12_COLOR_WRITE_ENABLE_ALL = (D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN | D3D12_COLOR_WRITE_ENABLE_BLUE | D3D12_COLOR_WRITE_ENABLE_ALPHA)} D3D12_COLOR_WRITE_ENABLE;这个枚举定义了一组标志,分别表示红色(RED)、绿色(G...
Win32 API:D3D12_CLEAR_FLAGS 枚举(D3d12.h)
在 Win32 API 的 Direct3D 12 中,D3D12_CLEAR_FLAGS 枚举用于描述在清除渲染目标(RTV)或深度模板目标(DSV)时的一些选项。以下是该枚举的定义:typedef enum D3D12_CLEAR_FLAGS { D3D12_CLEAR_FLAG_DEPTH = 0x1, D3D12_CLEAR_FLAG_STENCIL = 0x2} D3D12_CLEAR_FLAGS;这个枚举包含两个成员: D3D12_CLEAR_FLAG_DEPTH:表示在清除深度缓冲区时使用。当使用 ID3D12GraphicsCommandList::ClearDepthStencilView 清除深度缓冲区时,可以使用这个标志。 D3D12_CLEAR_FLAG_STENCIL:表示在清除模板缓冲区时使用。当使用 ID3D12GraphicsCommandList::ClearDepthStencilView 清除模板缓冲区时,可以使用这个标志。这些标志通常用于指定在执行渲染目标清除操作时应该清除深度缓冲区、模板缓冲区还是两者都清除。在渲染过程中,这些标...