6#include <glm/mat4x4.hpp>
8#include "EngineCore/AssetRenderer/BaseAssetRenderer.hpp"
9#include "Components/MeshRendererComponent.hpp"
10#include "Assets/Mesh3dAsset.hpp"
13 namespace GraphicsAPI {
26 glm::mat4 transformMatrix;
30 using RenderTaskList = std::vector<RenderTask>;
31 using SortedRender = std::vector<size_t>;
34 size_t renderTaskIndex;
39 glm::mat4 modelMatrix;
43 DrawSortMode sortMode;
44 RenderTaskList renderTasks;
45 std::vector<RenderSortData> renderSortData;
49 sortMode = drawSortMode;
59 virtual void AddQueue(
const char* queueName, DrawSortMode sortMode);
62 virtual void CacheRenderTasksAndFrustumCull(glm::vec3 eyePosition, entt::registry& registry)
override;
63 virtual void SortQueues()
override;
66 virtual std::string GetName()
const override;
70 std::string rendererName =
"Mesh3d";
75 std::map<std::string, RenderQueueIndex> renderQueueMap;
76 std::vector<RenderQueueContainer> renderQueues;
Definition BaseAssetRenderer.hpp:25
Definition EngineCore.hpp:57
Definition CommandBuffer.hpp:21
Definition DescriptorSetLayout.hpp:11
Definition DescriptorSet.hpp:11
Definition GraphicsPipeline.hpp:18
Definition VertexArrayObject.hpp:10
Definition Mesh3dRenderer.hpp:55
Definition Mesh3dRenderer.hpp:38
Definition Mesh3dRenderer.hpp:42
Definition Mesh3dRenderer.hpp:33
Definition Mesh3dRenderer.hpp:18