459 lines
11 KiB
Markdown
459 lines
11 KiB
Markdown
# 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(预留) |
|