Cogs.Core
AdaptivePlanarGridComponent.h
1#pragma once
2
3#include "../Core/RenderComponent.h"
4#include "../../EntityPtr.h"
5
6#include "Foundation/ComponentModel/Entity.h"
7
8namespace Cogs
9{
10 namespace Core
11 {
13 {
14 public:
16 glm::dvec2 extentMin = glm::dvec2(-1.0);
17
19 glm::dvec2 extentMax = glm::dvec2(1.0);
20
22 glm::vec3 displaceMin = glm::vec3(0.f, 0.f, -1.f);
23
25 glm::vec3 displaceMax = glm::vec3(0.f, 0.f, 1.f);
26
29
31 bool updateLoD = true;
32
34 bool debugGeometry = false;
35
37 RenderLayers layer = RenderLayers::Default;
38
41
43 std::vector<WeakEntityPtr> cameras;
44
45 static void registerType();
46 };
47 }
48}
49
50template<> inline Cogs::StringView getName<Cogs::Core::AdaptivePlanarGridComponent>() { return "AdaptivePlanarGridComponent"; }
Base class for Component instances.
Definition: Component.h:143
bool debugGeometry
Enable creation of miscellaneous debug geometry, like the intersected frustum and so on.
bool updateLoD
Enable/disable updates of level-of-detail hierarchy.
glm::vec3 displaceMin
Minimum corner of vertex displacement. Forwarded to misc bounding boxes.
glm::vec3 displaceMax
Maximum corner of vertex displacement. Forwarded to misc bounding boxes.
WeakEntityPtr lodReference
Entity to use as center reference to level of detail calculations, defaults to main camera.
glm::dvec2 extentMax
Maximum corner of extent to cover.
int tileResolutionLog2
Internal resolution of each tile in the grid.
RenderLayers layer
Layer used to render tiles.
std::vector< WeakEntityPtr > cameras
List of cameras for which frustums will be used to deduce visible geometry, defaults to main camera.
glm::dvec2 extentMin
Minimum corner of extent to cover.
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24
std::weak_ptr< ComponentModel::Entity > WeakEntityPtr
Weak Smart pointer for Entity access.
Definition: EntityPtr.h:18
RenderLayers
Contains common render layers.
Contains all Cogs related functionality.
Definition: FieldSetter.h:23