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