docs: rebuild Rendering API content

This commit is contained in:
2026-03-26 21:32:43 +08:00
parent f6286d432c
commit 5c8042775c
81 changed files with 2350 additions and 27 deletions

View File

@@ -0,0 +1,55 @@
# MeshRendererComponent
**命名空间**: `XCEngine::Components`
**类型**: `class`
**头文件**: `XCEngine/Components/MeshRendererComponent.h`
**描述**: 保存材质槽、阴影标志和渲染层信息,负责告诉渲染系统“这个 mesh 应该如何被绘制”。
## 概述
`MeshRendererComponent` 承担的是“绘制配置”这一半职责:
- 材质槽数组
- 阴影开关
- 渲染层
和 [MeshFilterComponent](../MeshFilterComponent/MeshFilterComponent.md) 配合后,场景提取器就能把几何和材质信息一起整理成 [VisibleRenderObject](../../Rendering/VisibleRenderObject/VisibleRenderObject.md)。
## 当前实现边界
- 内部同时维护 `m_materials``m_materialPaths` 两套数组。
- [SetMaterial](SetMaterial.md) 会在需要时自动扩容材质槽。
- [SetMaterials](SetMaterials.md) 会整体替换材质数组。
- [Deserialize](Deserialize.md) 会尝试通过 `ResourceManager` 重新加载材质。
- 当前 `castShadows``receiveShadows``renderLayer` 还没有真正接入 [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md) 或 [BuiltinForwardPipeline](../../Rendering/Pipelines/BuiltinForwardPipeline/BuiltinForwardPipeline.md)。
## 公开方法
| 方法 | 说明 |
|------|------|
| [GetName](GetName.md) | 返回组件名字。 |
| [GetMaterialCount](GetMaterialCount.md) | 获取材质槽数量。 |
| [GetMaterial](GetMaterial.md) | 获取指定槽位材质。 |
| [GetMaterialHandle](GetMaterialHandle.md) | 获取指定槽位材质句柄。 |
| [GetMaterialPaths](GetMaterialPaths.md) | 获取序列化路径数组。 |
| [SetMaterial](SetMaterial.md) | 设置单个材质槽。 |
| [SetMaterials](SetMaterials.md) | 批量设置材质槽。 |
| [ClearMaterials](ClearMaterials.md) | 清空所有材质槽。 |
| [GetCastShadows](GetCastShadows.md) | 查询投射阴影标志。 |
| [SetCastShadows](SetCastShadows.md) | 设置投射阴影标志。 |
| [GetReceiveShadows](GetReceiveShadows.md) | 查询接收阴影标志。 |
| [SetReceiveShadows](SetReceiveShadows.md) | 设置接收阴影标志。 |
| [GetRenderLayer](GetRenderLayer.md) | 获取渲染层。 |
| [SetRenderLayer](SetRenderLayer.md) | 设置渲染层。 |
| [Serialize](Serialize.md) | 序列化材质路径与标志位。 |
| [Deserialize](Deserialize.md) | 反序列化材质路径与标志位。 |
## 相关文档
- [Components](../Components.md)
- [MeshFilterComponent](../MeshFilterComponent/MeshFilterComponent.md)
- [RenderSceneExtractor](../../Rendering/RenderSceneExtractor/RenderSceneExtractor.md)
- [BuiltinForwardPipeline](../../Rendering/Pipelines/BuiltinForwardPipeline/BuiltinForwardPipeline.md)