Cogs.Core
PotreeRenderer.h
1#pragma once
2
3#include "Rendering/IGraphicsDevice.h"
4#include "Renderer/IRenderer.h"
5
6namespace Cogs::Core
7{
8 class Context;
9}
10
11namespace Cogs::Core
12{
13 struct PotreeSystem;
14
16 {
17 public:
18 void initialize(Context* context, IGraphicsDevice* device) override;
19 void handleEvent(uint32_t eventId, const DrawContext* renderingContext) override;
20 void generateCommands(const RenderTaskContext* renderingContext, RenderList* renderList) override;
21
22 Context* context = nullptr;
23 IGraphicsDevice* device = nullptr;
24
25 PotreeSystem* potreeSystem = nullptr;
26 Cogs::VertexBufferHandle boxVertices;
27 Cogs::IndexBufferHandle boxEdgeIndices;
28 unsigned boxEdgeIndexPrimitives = 0;
29
30 MeshStreamsLayout boxStreamsLayout;
31 };
32
33}
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition: Context.h:83
Defines an extension to the renderer, capable of doing custom rendering.
Definition: IRenderer.h:123
Represents a graphics device used to manage graphics resources and issue drawing commands.
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....
void initialize(Context *context, IGraphicsDevice *device) override
Initialize the extension using the given context and device.
void handleEvent(uint32_t eventId, const DrawContext *renderingContext) override
Called when rendering events occur.