Files
XCEngine/docs/api/rhi/rhi-enums.md

459 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RHIEnums
**命名空间**: `XCEngine::RHI`
**类型**: `enums`
**描述**: RHI 模块中使用的所有枚举类型汇总。
## 概述
本文档汇总了 RHI 模块中定义的所有枚举类型。这些枚举定义了图形 API 的各种选项和状态。
---
## ShaderType
着色器类型枚举。
| 值 | 描述 |
|----|------|
| `ShaderType::Vertex` | 顶点着色器 |
| `ShaderType::Fragment` | 片元着色器 |
| `ShaderType::Geometry` | 几何着色器 |
| `ShaderType::Compute` | 计算着色器 |
| `ShaderType::TessControl` | 曲面细分控制 |
| `ShaderType::TessEvaluation` | 曲面细分评估 |
| `ShaderType::Hull` | Hull 着色器 (D3D) |
| `ShaderType::Domain` | Domain 着色器 (D3D) |
| `ShaderType::Amplification` | 放大着色器 (D3D12.9+) |
| `ShaderType::Mesh` | Mesh 着色器 (D3D12.9+) |
| `ShaderType::Library` | 着色器库 |
---
## CullMode
背面剔除模式枚举。
| 值 | 描述 |
|----|------|
| `CullMode::None` | 不剔除 |
| `CullMode::Front` | 剔除正面 |
| `CullMode::Back` | 剔除背面(默认) |
---
## FillMode
填充模式枚举。
| 值 | 描述 |
|----|------|
| `FillMode::Wireframe` | 线框模式 |
| `FillMode::Solid` | 实体模式(默认) |
---
## BlendOp
混合操作枚举。
| 值 | 描述 |
|----|------|
| `BlendOp::Add` | 加法 |
| `BlendOp::Subtract` | 减法 |
| `BlendOp::ReverseSubtract` | 反向减法 |
| `BlendOp::Min` | 最小值 |
| `BlendOp::Max` | 最大值 |
---
## BlendFactor
混合因子枚举。
| 值 | 描述 |
|----|------|
| `BlendFactor::Zero` | 0 |
| `BlendFactor::One` | 1 |
| `BlendFactor::SrcColor` | 源颜色 |
| `BlendFactor::InvSrcColor` | 1 - 源颜色 |
| `BlendFactor::SrcAlpha` | 源 Alpha |
| `BlendFactor::InvSrcAlpha` | 1 - 源 Alpha |
| `BlendFactor::DstAlpha` | 目标 Alpha |
| `BlendFactor::InvDstAlpha` | 1 - 目标 Alpha |
| `BlendFactor::DstColor` | 目标颜色 |
| `BlendFactor::InvDstColor` | 1 - 目标颜色 |
| `BlendFactor::SrcAlphaSat` | 饱和(源 Alpha, 1 - 目标 Alpha) |
| `BlendFactor::BlendFactor` | 混合因子 |
| `BlendFactor::InvBlendFactor` | 1 - 混合因子 |
| `BlendFactor::Src1Color` | 第二个源颜色 |
| `BlendFactor::InvSrc1Color` | 1 - 第二个源颜色 |
| `BlendFactor::Src1Alpha` | 第二个源 Alpha |
| `BlendFactor::InvSrc1Alpha` | 1 - 第二个源 Alpha |
---
## ComparisonFunc
比较函数枚举。
| 值 | 描述 |
|----|------|
| `ComparisonFunc::Never` | 从不通过 |
| `ComparisonFunc::Less` | 小于通过 |
| `ComparisonFunc::Equal` | 等于通过 |
| `ComparisonFunc::LessEqual` | 小于等于通过 |
| `ComparisonFunc::Greater` | 大于通过 |
| `ComparisonFunc::NotEqual` | 不等于通过 |
| `ComparisonFunc::GreaterEqual` | 大于等于通过 |
| `ComparisonFunc::Always` | 总是通过 |
---
## StencilOp
模板操作枚举。
| 值 | 描述 |
|----|------|
| `StencilOp::Keep` | 保持当前值 |
| `StencilOp::Zero` | 设置为 0 |
| `StencilOp::Replace` | 替换为参考值 |
| `StencilOp::IncrSat` | 增加并饱和 |
| `StencilOp::DecrSat` | 减少并饱和 |
| `StencilOp::Invert` | 位反转 |
| `StencilOp::Incr` | 增加并回绕 |
| `StencilOp::Decr` | 减少并回绕 |
---
## TextureType
纹理类型枚举。
| 值 | 描述 |
|----|------|
| `TextureType::Texture1D` | 1D 纹理 |
| `TextureType::Texture2D` | 2D 纹理 |
| `TextureType::Texture2DArray` | 2D 纹理数组 |
| `TextureType::Texture3D` | 3D 纹理 |
| `TextureType::TextureCube` | 立方体贴图 |
| `TextureType::TextureCubeArray` | 立方体贴图数组 |
---
## BufferType
缓冲区类型枚举。
| 值 | 描述 |
|----|------|
| `BufferType::Vertex` | 顶点缓冲 |
| `BufferType::Index` | 索引缓冲 |
| `BufferType::Constant` | 常量缓冲 |
| `BufferType::ReadBack` | 回读缓冲 |
| `BufferType::Indirect` | 间接缓冲 |
| `BufferType::RaytracingAccelerationStructure` | 光追加速结构 |
| `BufferType::ShaderBindingTable` | 着色器绑定表 |
---
## DescriptorType
描述符类型枚举。
| 值 | 描述 |
|----|------|
| `DescriptorType::CBV` | 常量缓冲视图 |
| `DescriptorType::SRV` | 着色器资源视图 |
| `DescriptorType::UAV` | 无序访问视图 |
| `DescriptorType::Sampler` | 采样器 |
| `DescriptorType::RTV` | 渲染目标视图 |
| `DescriptorType::DSV` | 深度模板视图 |
---
## PipelineType
管线类型枚举。
| 值 | 描述 |
|----|------|
| `PipelineType::Graphics` | 图形管线 |
| `PipelineType::Compute` | 计算管线 |
| `PipelineType::Raytracing` | 光线追踪管线 |
---
## CommandQueueType
命令队列类型枚举。
| 值 | 描述 |
|----|------|
| `CommandQueueType::Direct` | 直接队列 |
| `CommandQueueType::Compute` | 计算队列 |
| `CommandQueueType::Copy` | 复制队列 |
---
## LoadAction
加载操作枚举。
| 值 | 描述 |
|----|------|
| `LoadAction::Undefined` | 未定义 |
| `LoadAction::Load` | 加载现有内容 |
| `LoadAction::Clear` | 清除为默认值 |
---
## StoreAction
存储操作枚举。
| 值 | 描述 |
|----|------|
| `StoreAction::Undefined` | 未定义 |
| `StoreAction::Store` | 存储 |
| `StoreAction::Resolve` | 解析 |
| `StoreAction::StoreAndResolve` | 存储并解析 |
| `StoreAction::Discard` | 丢弃 |
---
## PresentFlags
呈现标志枚举。
| 值 | 描述 |
|----|------|
| `PresentFlags::None` | 无特殊标志 |
| `PresentFlags::AllowTearing` | 允许垂直同步撕裂 |
| `PresentFlags::StrictlyTimedFrame` | 严格帧时序 |
| `PresentFlags::AllowDisplayLatencyWaitableObject` | 显示延迟等待对象 |
---
## FilterMode
采样器过滤模式枚举。
| 值 | 描述 |
|----|------|
| `FilterMode::Point` | 点采样 |
| `FilterMode::Linear` | 双线性插值 |
| `FilterMode::Anisotropic` | 各向异性过滤 |
| `FilterMode::ComparisonPoint` | 比较点采样 |
| `FilterMode::ComparisonLinear` | 比较双线性 |
| `FilterMode::ComparisonAnisotropic` | 比较各向异性 |
| `FilterMode::MinimumPoint` | 最小值点采样 |
| `FilterMode::MinimumLinear` | 最小值线性 |
| `FilterMode::MinimumAnisotropic` | 最小值各向异性 |
| `FilterMode::MaximumPoint` | 最大值点采样 |
| `FilterMode::MaximumLinear` | 最大值线性 |
| `FilterMode::MaximumAnisotropic` | 最大值各向异性 |
---
## TextureAddressMode
纹理寻址模式枚举。
| 值 | 描述 |
|----|------|
| `TextureAddressMode::Wrap` | 重复寻址 |
| `TextureAddressMode::Mirror` | 镜像寻址 |
| `TextureAddressMode::Clamp` | 钳制寻址 |
| `TextureAddressMode::Border` | 边框颜色 |
| `TextureAddressMode::MirrorOnce` | 单次镜像 |
---
## BorderColor
边框颜色枚举。
| 值 | 描述 |
|----|------|
| `BorderColor::TransparentBlack` | 透明黑色 (0,0,0,0) |
| `BorderColor::OpaqueBlack` | 不透明黑色 (0,0,0,1) |
| `BorderColor::OpaqueWhite` | 不透明白色 (1,1,1,1) |
---
## LogicOp
逻辑操作枚举。
| 值 | 描述 |
|----|------|
| `LogicOp::Clear` | 清零 |
| `LogicOp::Set` | 置一 |
| `LogicOp::Copy` | 复制 |
| `LogicOp::CopyInverted` | 复制取反 |
| `LogicOp::Noop` | 无操作 |
| `LogicOp::Invert` | 取反 |
| `LogicOp::And` | 与 |
| `LogicOp::Nand` | 与非 |
| `LogicOp::Or` | 或 |
| `LogicOp::Nor` | 或非 |
| `LogicOp::Xor` | 异或 |
| `LogicOp::Equiv` | 同或 |
| `LogicOp::AndReverse` | 反向与 |
| `LogicOp::AndInverted` | 与反 |
| `LogicOp::OrReverse` | 反向或 |
| `LogicOp::OrInverted` | 或反 |
---
## ColorWriteMask
颜色写入掩码枚举,支持位运算组合。
| 值 | 描述 |
|----|------|
| `ColorWriteMask::Red` | 红色通道 (1) |
| `ColorWriteMask::Green` | 绿色通道 (2) |
| `ColorWriteMask::Blue` | 蓝色通道 (4) |
| `ColorWriteMask::Alpha` | Alpha 通道 (8) |
| `ColorWriteMask::All` | 所有通道 (15) |
支持 `operator|` 进行组合,如 `ColorWriteMask::Red | ColorWriteMask::Green`
---
## ShaderVisibility
着色器可见性枚举。
| 值 | 描述 |
|----|------|
| `ShaderVisibility::All` | 所有着色器阶段 |
| `ShaderVisibility::Vertex` | 顶点着色器 |
| `ShaderVisibility::Hull` | Hull 着色器 |
| `ShaderVisibility::Domain` | Domain 着色器 |
| `ShaderVisibility::Geometry` | 几何着色器 |
| `ShaderVisibility::Pixel` | 像素着色器 |
| `ShaderVisibility::Amplification` | 放大着色器 |
| `ShaderVisibility::Mesh` | Mesh 着色器 |
---
## RootParameterType
根参数类型枚举。
| 值 | 描述 |
|----|------|
| `RootParameterType::DescriptorTable` | 描述符表 |
| `RootParameterType::Constants` | 内联常量 |
| `RootParameterType::CBV` | 常量缓冲视图 |
| `RootParameterType::SRV` | 着色器资源视图 |
| `RootParameterType::UAV` | 无序访问视图 |
---
## DescriptorHeapType
描述符堆类型枚举。
| 值 | 描述 |
|----|------|
| `DescriptorHeapType::CBV_SRV_UAV` | 常量缓冲/着色器资源/无序访问视图 |
| `DescriptorHeapType::Sampler` | 采样器 |
| `DescriptorHeapType::RTV` | 渲染目标视图 |
| `DescriptorHeapType::DSV` | 深度模板视图 |
---
## QueryType
查询类型枚举。
| 值 | 描述 |
|----|------|
| `QueryType::Occlusion` | 遮挡查询 |
| `QueryType::Timestamp` | 时间戳查询 |
| `QueryType::PipelineStatistics` | 管线统计查询 |
---
## Format
纹理/缓冲区格式枚举。
| 值 | 描述 |
|----|------|
| `Format::Unknown` | 未知 |
| `Format::R8_UNorm` | 单通道 8 位归一化 |
| `Format::R8G8_UNorm` | 双通道 8 位归一化 |
| `Format::R8G8B8A8_UNorm` | 四通道 8 位归一化 |
| `Format::R16G16B16A16_Float` | 四通道 16 位浮点 |
| `Format::R32G32B32A32_Float` | 四通道 32 位浮点 |
| `Format::R16_Float` | 单通道 16 位浮点 |
| `Format::R32_Float` | 单通道 32 位浮点 |
| `Format::D16_UNorm` | 16 位深度 |
| `Format::D24_UNorm_S8_UInt` | 24 位深度 + 8 位模板 |
| `Format::D32_Float` | 32 位深度 |
| `Format::BC1_UNorm` | BC1 压缩 (DXT1) |
| `Format::BC2_UNorm` | BC2 压缩 (DXT3) |
| `Format::BC3_UNorm` | BC3 压缩 (DXT5) |
| `Format::BC4_UNorm` | BC4 压缩 (ATI1N) |
| `Format::BC5_UNorm` | BC5 压缩 (ATI2N) |
| `Format::BC6H_UF16` | BC6H 有符号浮点压缩 |
| `Format::BC7_UNorm` | BC7 高质量压缩 |
| `Format::R32_UInt` | 单通道 32 位无符号整数 |
| `Format::R32G32B32A32_UInt` | 四通道 32 位无符号整数 |
---
## ResourceStates
资源状态枚举。
| 值 | 描述 |
|----|------|
| `ResourceStates::Common` | 通用状态 |
| `ResourceStates::VertexAndConstantBuffer` | 顶点/常量缓冲 |
| `ResourceStates::IndexBuffer` | 索引缓冲 |
| `ResourceStates::RenderTarget` | 渲染目标 |
| `ResourceStates::UnorderedAccess` | 无序访问 |
| `ResourceStates::DepthWrite` | 深度写入 |
| `ResourceStates::DepthRead` | 深度读取 |
| `ResourceStates::NonPixelShaderResource` | 非像素着色器资源 |
| `ResourceStates::PixelShaderResource` | 像素着色器资源 |
| `ResourceStates::CopySrc` | 复制源 |
| `ResourceStates::CopyDst` | 复制目标 |
| `ResourceStates::Present` | 呈现 |
| `ResourceStates::GenericRead` | 通用读取 |
---
## HeapType
内存堆类型枚举。
| 值 | 描述 |
|----|------|
| `HeapType::Default` | 默认堆GPU 直接访问) |
| `HeapType::Upload` | 上传堆CPU 可写GPU 可读) |
| `HeapType::Readback` | 回读堆CPU 可读) |
| `HeapType::Custom` | 自定义堆 |
---
## RHIType
RHI 后端类型枚举。
| 值 | 描述 |
|----|------|
| `RHIType::D3D12` | DirectX 12 |
| `RHIType::OpenGL` | OpenGL |
| `RHIType::Vulkan` | Vulkan预留 |
| `RHIType::Metal` | Metal预留 |