Refactor material system (#382)

This commit is contained in:
Jérôme Leclercq
2022-10-31 19:53:41 +01:00
committed by GitHub
parent 0a8048809c
commit dc6ce8427c
156 changed files with 3633 additions and 4569 deletions

View File

@@ -32,13 +32,13 @@ namespace Nz
const std::shared_ptr<RenderBuffer>& GetIndexBuffer(std::size_t subMeshIndex) const;
std::size_t GetIndexCount(std::size_t subMeshIndex) const;
const std::shared_ptr<Material>& GetMaterial(std::size_t subMeshIndex) const override;
const std::shared_ptr<MaterialInstance>& GetMaterial(std::size_t subMeshIndex) const override;
std::size_t GetMaterialCount() const override;
inline std::size_t GetSubMeshCount() const;
const std::vector<RenderPipelineInfo::VertexBufferData>& GetVertexBufferData(std::size_t subMeshIndex) const;
const std::shared_ptr<RenderBuffer>& GetVertexBuffer(std::size_t subMeshIndex) const;
inline void SetMaterial(std::size_t subMeshIndex, std::shared_ptr<Material> material);
inline void SetMaterial(std::size_t subMeshIndex, std::shared_ptr<MaterialInstance> material);
Model& operator=(const Model&) = delete;
Model& operator=(Model&&) noexcept = default;
@@ -46,7 +46,7 @@ namespace Nz
private:
struct SubMeshData
{
std::shared_ptr<Material> material;
std::shared_ptr<MaterialInstance> material;
std::vector<RenderPipelineInfo::VertexBufferData> vertexBufferData;
};