Files
XCEngine/docs/api/rhi/shader/shader.md
ssdfasd 870cb3116e docs: 修正 API 文档准确性 (第三轮检查)
修复问题:
- containers: HashMap include 路径修复
- core: RefCounted 析构函数访问级别, Event::begin/end 返回值说明
- memory: LinearAllocator::GetMarker 返回偏移量非指针
- resources: LoadAsync 示例使用不存在的模板方法
- rhi: OpenGL 链接错误, ShaderType 枚举缺失8个类型, 链接修复
- threading: SpinLock STL 兼容方法说明, Mutex const 方法说明
2026-03-19 00:35:26 +08:00

2.0 KiB

RHIShader

命名空间: XCEngine::RHI

类型: class (abstract)

描述: GPU 着色器资源抽象接口,用于管理着色器代码的编译和绑定。

公共方法

编译

方法 文档
CompileFromFile 详细文档
Compile 详细文档

属性访问

方法 文档
GetType 详细文档
IsValid 详细文档

绑定/解绑

方法 文档
Bind 详细文档
Unbind 详细文档

Uniform 设置

方法 文档
SetInt 详细文档
SetFloat 详细文档
SetVec3 详细文档
SetVec4 详细文档
SetMat4 详细文档

生命周期

方法 文档
Shutdown 详细文档

其他

方法 文档
GetNativeHandle 详细文档

着色器类型 (ShaderType)

枚举值 描述
ShaderType::Vertex 顶点着色器
ShaderType::Fragment 片元着色器
ShaderType::Geometry 几何着色器
ShaderType::Compute 计算着色器
ShaderType::TessControl 曲面细分控制着色器
ShaderType::TessEvaluation 曲面细分评估着色器
ShaderType::Hull Hull 着色器 (D3D12)
ShaderType::Domain Domain 着色器 (D3D12)
ShaderType::Amplification 放大着色器 (Mesh Shader)
ShaderType::Mesh Mesh 着色器
ShaderType::Library 着色器库

使用示例

RHIShader* vs = device->CompileShader({});
vs->CompileFromFile(L"shaders/vertex.hlsl", "main", "vs_6_0");
vs->SetMat4("modelMatrix", modelMatrix);
vs->Bind();

相关文档