Files
Seele/src/Engine/Scene/Components/PrimitiveComponent.h
T

30 lines
749 B
C++
Raw Normal View History

2020-04-15 02:03:56 +02:00
#pragma once
#include "Component.h"
2020-05-05 01:51:13 +02:00
#include "Graphics/GraphicsResources.h"
2020-06-02 11:46:18 +02:00
#include "Graphics/Mesh.h"
2020-06-08 01:44:47 +02:00
#include "Material/MaterialAsset.h"
2020-06-02 11:46:18 +02:00
#include "Graphics/MeshBatch.h"
2020-04-15 02:03:56 +02:00
namespace Seele
{
2021-04-01 16:40:14 +02:00
DECLARE_REF(MeshAsset)
2020-04-15 02:03:56 +02:00
class PrimitiveComponent : public Component
{
public:
2020-05-05 01:51:13 +02:00
PrimitiveComponent();
2020-06-08 01:44:47 +02:00
PrimitiveComponent(PMeshAsset asset);
2020-05-05 01:51:13 +02:00
~PrimitiveComponent();
virtual void notifySceneAttach(PScene scene) override;
Matrix4 getRenderMatrix();
2021-04-13 23:09:16 +02:00
const Array<StaticMeshBatch>& getStaticMeshes()
{
return staticMeshes;
}
2020-05-05 01:51:13 +02:00
private:
2020-06-08 01:44:47 +02:00
Array<PMaterialAsset> materials;
2020-06-02 11:46:18 +02:00
Gfx::PUniformBuffer uniformBuffer;
2021-04-13 23:09:16 +02:00
Array<StaticMeshBatch> staticMeshes;
2020-05-05 01:51:13 +02:00
friend class Scene;
2020-04-15 02:03:56 +02:00
};
2021-04-01 16:40:14 +02:00
DEFINE_REF(PrimitiveComponent)
2020-05-05 01:51:13 +02:00
} // namespace Seele