Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Mesh3dRenderer.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5#include <map>
6#include <glm/mat4x4.hpp>
7
8#include <Common/Rendering/RenderViewData.hpp>
9#include "EngineCore/AssetRenderer/BaseAssetRenderer.hpp"
10#include "Components/MeshRendererComponent.hpp"
11#include "Assets/Mesh3dAsset.hpp"
12
13namespace Grindstone {
14 namespace GraphicsAPI {
15 class CommandBuffer;
16 class DescriptorSet;
17 }
18
19 class EngineCore;
20
21 class Mesh3dRenderer : public BaseAssetRenderer {
22 public:
23 Mesh3dRenderer(EngineCore* engineCore);
24
26 GraphicsAPI::CommandBuffer* commandBuffer,
28 entt::registry& registry,
29 Grindstone::HashedString renderQueueHash
30 ) override;
31 GraphicsAPI::DescriptorSetLayout* GetPerDrawDescriptorSetLayout() const;
32 private:
33 virtual std::string GetName() const override;
34 virtual void SetEngineDescriptorSet(GraphicsAPI::DescriptorSet* descriptorSet) override;
35
36 EngineCore* engineCore = nullptr;
37 std::string rendererName = "Mesh3d";
38 GraphicsAPI::DescriptorSet* engineDescriptorSet = nullptr;
39 class GraphicsAPI::DescriptorSetLayout* perDrawDescriptorSetLayout = nullptr;
40 };
41}
Definition BaseAssetRenderer.hpp:23
Definition EngineCore.hpp:58
Definition CommandBuffer.hpp:59
Definition DescriptorSetLayout.hpp:13
Definition DescriptorSet.hpp:15
Definition HashedString.hpp:9
Definition GeometryRenderingStats.hpp:6
Definition RenderViewData.hpp:6