#ifndef MeshRenderer_h__ #define MeshRenderer_h__ #include "ObjectsFactory.h" #include "Mesh.h" #include "Material.h" #include #include "ForwardDeclarations.h" #include LOBJECT(MeshRenderer, Component) public: std::shared_ptr SetMesh(MeshPtr m); MeshPtr GetMesh(); void SetMaterial(MaterialPtr material, int id); std::vector GetMaterials() { return _materials; } D3D12_INPUT_LAYOUT_DESC GetInputLayout() { return _inputLayoutDesc; } private: void UpdateInputLayouts(); void SyncMaterialSlots(); MeshPtr mesh; std::vector _materials; std::vector _inputElements; D3D12_INPUT_LAYOUT_DESC _inputLayoutDesc; }; #endif // MeshRenderer_h__