- 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
10 KiB
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 (预留) |