Files
XCEngine/docs/api/rhi/enums/enums.md
ssdfasd d83ed56177 fix(rhi): Fix RHI abstraction layer API docs per api-skill.md template
- Rename texture/dtor.md to destructor.md per template spec
- Remove duplicate non-hyphenated fence docs (getnativehandle.md, issignaled.md, getcompletedvalue.md)
- Fix template field issues:
  - swap-chain, command-queue: 类型 now uses 'class (abstract)'
  - sampler: 头文件 now uses full path 'XCEngine/RHI/RHISampler.h'
  - types: 类型 fixed from 'structs' to 'struct'
  - enums: 类型 fixed from 'enums' to 'enum class'
- Fix include paths in command-queue and pipeline-layout code examples
- Create missing constructor/destructor docs for 11 classes:
  buffer, texture, shader, device, command-list, command-queue,
  fence, sampler, swap-chain, pipeline-state, pipeline-layout
- Update class overview pages to include constructor/destructor entries
2026-03-22 03:07:41 +08:00

10 KiB

RHIEnums

命名空间: XCEngine::RHI

类型: enum class

头文件: XCEngine/RHI/RHIEnums.h

描述: RHI 模块中使用的所有枚举类型汇总。

概述

本模块汇总了 RHI 模块中定义的所有枚举类型,用于配置渲染管线的各种状态和参数。

着色器类型

ShaderType

着色器类型枚举。

枚举值 描述
Vertex 顶点着色器
Fragment 片元着色器 (像素着色器)
Geometry 几何着色器
Compute 计算着色器
TessControl 曲面细分控制着色器
TessEvaluation 曲面细分评估着色器
Hull 外壳着色器 (Hull shader)
Domain 域着色器 (Domain shader)
Amplification 放大着色器 (Mesh Shader)
Mesh 网格着色器
Library 着色器库

ShaderVisibility

着色器可见性,控制根签名参数对哪些着色器可见。

枚举值 描述
All 对所有着色器可见
Vertex 仅对顶点着色器可见
Hull 仅对外壳着色器可见
Domain 仅对域着色器可见
Geometry 仅对几何着色器可见
Pixel 仅对像素着色器可见
Amplification 仅对放大着色器可见
Mesh 仅对网格着色器可见

图元设置

CullMode

背面剔除模式。

枚举值 描述
None 不剔除
Front 剔除正面
Back 剔除背面

FillMode

填充模式。

枚举值 描述
Wireframe 线框模式
Solid 实体模式

PrimitiveTopology

图元拓扑类型。

枚举值 描述
Undefined 未定义
PointList 点列表
LineList 线段列表
LineStrip 线段条带
TriangleList 三角形列表
TriangleStrip 三角形条带
LineListAdj 带邻接的线段列表
LineStripAdj 带邻接的线段条带
TriangleListAdj 带邻接的三角形列表
TriangleStripAdj 带邻接的三角形条带
PatchList 补丁列表 (用于曲面细分)

混合操作

BlendOp

混合操作。

枚举值 描述
Add 加法
Subtract 减法 (Src - Dst)
ReverseSubtract 反向减法 (Dst - Src)
Min 最小值
Max 最大值

BlendFactor

混合因子。

枚举值 描述
Zero 0
One 1
SrcColor 源颜色
InvSrcColor 源颜色的逆
SrcAlpha 源透明度
InvSrcAlpha 源透明度的逆
DstAlpha 目标透明度
InvDstAlpha 目标透明度的逆
DstColor 目标颜色
InvDstColor 目标颜色的逆
SrcAlphaSat 源透明度饱和值
BlendFactor 混合因子
InvBlendFactor 混合因子的逆
Src1Color 源颜色 1
InvSrc1Color 源颜色 1 的逆
Src1Alpha 源透明度 1
InvSrc1Alpha 源透明度 1 的逆

LogicOp

逻辑操作。

枚举值 描述
Clear 清除
Set 设置
Copy 复制
CopyInverted 反转复制
Noop 无操作
Invert 反转
And
Nand 与非
Or
Nor 或非
Xor 异或
Equiv 等价
AndReverse 反向与
AndInverted 反向与 (输入反转)
OrReverse 反向或
OrInverted 反向或 (输入反转)

ColorWriteMask

颜色写入掩码,控制颜色通道写入。

枚举值 描述
Red 1 红色通道
Green 2 绿色通道
Blue 4 蓝色通道
Alpha 8 透明度通道
All 15 所有通道

使用示例:

// 组合多个通道
ColorWriteMask mask = ColorWriteMask::Red | ColorWriteMask::Green | ColorWriteMask::Blue;
// 或者使用 All
ColorWriteMask mask = ColorWriteMask::All;

深度和模板

ComparisonFunc

比较函数,用于深度/模板测试。

枚举值 描述
Never 从不通过
Less 小于
Equal 等于
LessEqual 小于等于
Greater 大于
NotEqual 不等于
GreaterEqual 大于等于
Always 永远通过

StencilOp

模板操作。

枚举值 描述
Keep 保持当前值
Zero 设为 0
Replace 替换为参考值
IncrSat 增加并饱和
DecrSat 减少并饱和
Invert 反转位
Incr 增加 (溢出回绕)
Decr 减少 (溢出回绕)

纹理采样

FilterMode

采样器过滤模式。

枚举值 描述
Point 点采样
Linear 线性采样
Anisotropic 各向异性采样
ComparisonPoint 比较点采样
ComparisonLinear 比较线性采样
ComparisonAnisotropic 比较各向异性采样
MinimumPoint 最小值点采样
MinimumLinear 最小值线性采样
MinimumAnisotropic 最小值各向异性采样
MaximumPoint 最大值点采样
MaximumLinear 最大值线性采样
MaximumAnisotropic 最大值各向异性采样

TextureAddressMode

纹理寻址模式。

枚举值 描述
Wrap 重复寻址
Mirror 镜像寻址
Clamp 钳制寻址
Border 边框颜色寻址
MirrorOnce 单次镜像寻址

BorderColor

边框颜色。

枚举值 描述
TransparentBlack 透明黑色 (0,0,0,0)
OpaqueBlack 不透明黑色 (0,0,0,1)
OpaqueWhite 不透明白色 (1,1,1,1)

纹理和缓冲区类型

TextureType

纹理类型。

枚举值 描述
Texture1D 1D 纹理
Texture2D 2D 纹理
Texture2DArray 2D 纹理数组
Texture3D 3D 纹理
TextureCube 立方体纹理
TextureCubeArray 立方体纹理数组

BufferType

缓冲区类型。

枚举值 描述
Vertex 顶点缓冲区
Index 索引缓冲区
Constant 常量缓冲区 (CBV)
ReadBack 回读缓冲区
Indirect 间接执行缓冲区
RaytracingAccelerationStructure 光线追踪加速结构
ShaderBindingTable 着色器绑定表

Format

纹理和缓冲区格式。

枚举值 描述
Unknown 未知格式
R8_UNorm 单通道 8 位归一化
R8G8_UNorm 双通道 8 位归一化
R8G8B8A8_UNorm 四通道 8 位归一化
R16G16B16A16_Float 四通道 16 位浮点
R32G32B32A32_Float 四通道 32 位浮点
R16_Float 单通道 16 位浮点
R32_Float 单通道 32 位浮点
D16_UNorm 16 位深度
D24_UNorm_S8_UInt 24 位深度 + 8 位模板
D32_Float 32 位深度
BC1_UNorm BC1 压缩格式
BC2_UNorm BC2 压缩格式
BC3_UNorm BC3 压缩格式
BC4_UNorm BC4 压缩格式
BC5_UNorm BC5 压缩格式
BC6H_UF16 BC6H 压缩格式 (无符号)
BC7_UNorm BC7 压缩格式
R32G32B32A32_UInt 四通道 32 位无符号整数
R32_UInt 单通道 32 位无符号整数

资源和内存

ResourceStates

资源状态,描述资源当前的使用方式。

枚举值 描述
Common 通用状态
VertexAndConstantBuffer 顶点缓冲/常量缓冲
IndexBuffer 索引缓冲
RenderTarget 渲染目标
UnorderedAccess 无序访问
DepthWrite 深度写入
DepthRead 深度读取
NonPixelShaderResource 非像素着色器资源
PixelShaderResource 像素着色器资源
CopySrc 复制源
CopyDst 复制目标
Present 显示呈现
GenericRead 通用读取

HeapType

内存堆类型。

枚举值 描述
Default 默认堆 (GPU 直接访问)
Upload 上传堆 (CPU 写入 GPU 读取)
Readback 回读堆 (GPU 写入 CPU 读取)
Custom 自定义堆

描述符类型

DescriptorType

描述符类型。

枚举值 描述
CBV 常量缓冲区视图
SRV 着色器资源视图
UAV 无序访问视图
Sampler 采样器
RTV 渲染目标视图
DSV 深度模板视图

DescriptorHeapType

描述符堆类型。

枚举值 描述
CBV_SRV_UAV CBV/SRV/UAV 混合堆
Sampler 采样器堆
RTV 渲染目标视图堆
DSV 深度模板视图堆

RootParameterType

根参数类型。

枚举值 描述
DescriptorTable 描述符表
Constants 常量 (32-bit 常量)
CBV 常量缓冲区视图
SRV 着色器资源视图
UAV 无序访问视图

命令相关

CommandQueueType

命令队列类型。

枚举值 描述
Direct 直接命令队列 (图形/计算)
Compute 计算命令队列
Copy 复制命令队列

PipelineType

管线类型。

枚举值 描述
Graphics 图形管线
Compute 计算管线
Raytracing 光线追踪管线

LoadAction

加载操作,渲染通道开始时的加载行为。

枚举值 描述
Undefined 未定义
Load 加载现有内容
Clear 清除为指定值

StoreAction

存储操作,渲染通道结束时的存储行为。

枚举值 描述
Undefined 未定义
Store 存储结果
Resolve 解析 (多重采样)
StoreAndResolve 存储并解析
Discard 丢弃

PresentFlags

呈现标志。

枚举值 描述
None 无标志
AllowTearing 允许垂直同步撕裂
StrictlyTimedFrame 严格计时帧
AllowDisplayLatencyWaitableObject 允许显示延迟等待对象

QueryType

查询类型。

枚举值 描述
Occlusion 遮挡查询
Timestamp 时间戳查询
PipelineStatistics 管线统计查询

RHI 后端

RHIType

RHI 后端类型。

枚举值 描述
D3D12 DirectX 12
OpenGL OpenGL
Vulkan Vulkan (预留)
Metal Metal (预留)

相关文档