Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
BaseAssetRenderer.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5#include <map>
6#include <entt/fwd.hpp>
7#include <glm/vec3.hpp>
8
9#include <Common/HashedString.hpp>
10#include "EngineCore/Assets/AssetManager.hpp"
11
12using RenderQueueIndex = uint8_t;
13const RenderQueueIndex INVALID_RENDER_QUEUE = UINT8_MAX;
14
15namespace Grindstone {
16 namespace GraphicsAPI {
17 class CommandBuffer;
18 class DescriptorSet;
19 }
20
22 public:
23 virtual std::string GetName() const = 0;
24 virtual void SetEngineDescriptorSet(GraphicsAPI::DescriptorSet* descriptorSet) = 0;
25 virtual void RenderQueue(
26 GraphicsAPI::CommandBuffer* commandBuffer,
27 entt::registry& registry,
28 Grindstone::HashedString renderQueueHash
29 ) = 0;
30 };
31}
Definition BaseAssetRenderer.hpp:21
Definition CommandBuffer.hpp:59
Definition DescriptorSet.hpp:15
Definition HashedString.hpp:9