Files
XCSDD/docs/api/rhi/shader/shader.md
ssdfasd 58a83f445a fix: improve doc link navigation and tree display
- Fix link resolution with proper relative/absolute path handling
- Improve link styling with underline decoration
- Hide leaf nodes from tree, only show directories
- Fix log file path for packaged app
2026-03-19 12:44:08 +08:00

1.8 KiB

RHIShader

命名空间: XCEngine::RHI

类型: class (abstract)

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

公共方法

方法 描述
CompileFromFile 从文件编译着色器
Compile 从源码编译着色器
GetType 获取着色器类型
IsValid 检查着色器是否有效
Bind 绑定着色器
Unbind 解绑着色器
SetInt 设置整数 uniform
SetFloat 设置浮点数 uniform
SetVec3 设置 vec3 uniform
SetVec4 设置 vec4 uniform
SetMat4 设置 mat4 uniform
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();

相关文档