docs: update RHI API docs

This commit is contained in:
2026-03-20 02:35:45 +08:00
parent ea756c0177
commit 070b444f8f
501 changed files with 13493 additions and 2022 deletions

View File

@@ -4,18 +4,37 @@
virtual bool Compile(const void* sourceData, size_t sourceSize, const char* entryPoint, const char* target) = 0;
```
从内存编译着色器。
从内存数据编译着色器。
将已加载到内存中的着色器代码编译为 GPU 可执行的着色器程序。适用于从资源包、网络或自定义加载器获取着色器代码的场景。
**参数:**
- `sourceData` - 着色器源代码指针
- `sourceSize` - 源代码大小
- `entryPoint` - 入口点函数名
- `target` - 编译目标
- `sourceData` - 指向着色器源代码或字节码的指针
- `sourceSize` - 源数据大小(字节数)
- `entryPoint` - 着色器入口点函数名
- `target` - 着色器目标配置文件
**返回:** 成功返回 `true`,失败返回 `false`
**返回:** 编译成功返回 `true`,失败返回 `false`
**复杂度** O(n)
**线程安全** ❌(多线程同时编译同一着色器可能导致未定义行为)
**复杂度:** O(n),其中 n 为着色器代码行数
**示例:**
```cpp
std::vector<char> shaderBytes = LoadShaderFromResource("vertex_shader");
if (!shaderBytes.empty()) {
RHIShader* shader = device->CreateShader();
if (shader->Compile(shaderBytes.data(), shaderBytes.size(), "VSMain", "vs_5_0")) {
shader->Bind();
// 使用着色器...
}
shader->Shutdown();
}
```
## 相关文档
- [RHIShader 总览](shader.md) - 返回类总览
- [RHIShader](shader.md) - 返回类总览
- [`CompileFromFile`](compile-from-file.md) - 从文件编译着色器