8 #ifndef GlobeEngine_Raster_KPatchbintree_h
9 #define GlobeEngine_Raster_KPatchbintree_h
11 #include "OpenGL_Includes.h"
35 void create(std::shared_ptr<MBlockQuadtree> _quadtree,
short _max_lod,
double _max_dist_error,
KPatchBase::PatchMode _mode, vmml::Vector3d _pos,
short _maxQuadtreeLodLevels);
36 void draw(std::shared_ptr<ge::Camera> _cam);
55 void drawDebug(std::shared_ptr<ge::Camera> _cam);
65 bool checkDistanceCriterionForBin(
int _uid,
const vmml::Vector3d& _pos);
67 void restrictNeighbour(
int _nodeId,
bool _order);
68 int getIDFromBitset(std::bitset<40>
const& _bitset,
short _lod,
short _bintreeRoot);
69 void setMBlockRef(
int _uid,
int _refID);
72 void createRootChildren();
73 void forceSplitOnBin(
int _nodeId);
77 std::shared_ptr<MBlockQuadtree> quadtree;
78 std::vector< std::shared_ptr<KPatchBintreeNode> > bins;
87 std::vector<int> visibleKPatches;
88 int visibleKPatchesSize;
99 double max_dist_for_error_metric;
100 double distErrorStepPerLod;
109 std::shared_ptr<KPatchBase> basePatch;
110 int kPatchIndexCount;
111 int kPatchSideLenght;
114 bool kpatchInfoUpdateNecessary;
120 #ifndef GENGINE_GL_BELOW_410
126 std::vector<ge::DrawArraysIndirectCommand> indirectCommands;
Definition: DrawableComponent.h:25
void drawDebug(std::shared_ptr< ge::Camera > _cam)
KPatchBintree()
Definition: KPatchBintree.cpp:10
void printKPatchBintreeGeometryInformation(unsigned int _lod)
Definition: KPatchBintree.cpp:746
Definition: KPatchBase.h:13
void printKPatchBintree(unsigned int _lod)
Definition: KPatchBintree.cpp:722
void updateUniformBlockBinding()
Definition: KPatchBintree.cpp:115
void updateVisualizationTypeInShader()
Definition: KPatchBintree.cpp:785
~KPatchBintree()
Definition: KPatchBintree.cpp:16
void create()
Definition: KPatchBintree.h:34
Definition: BufferArray.h:18
Definition: KPatchBintree.h:26
void update()
Definition: KPatchBintree.cpp:715
void createGeometry()
Definition: KPatchBintree.cpp:459
void updateUniformBuffers()
Definition: KPatchBintree.cpp:99
void sortVisibleKPatchToMBlocks()
Definition: KPatchBintree.cpp:442
void clear()
Definition: KPatchBintree.cpp:23
void setVisualizationType(TerrainVis::VisualizationMode _input)
Definition: KPatchBintree.cpp:774
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: KPatchBintree.cpp:629
void printBuffers()
Definition: KPatchBintree.cpp:763
Definition: TerrainConfigStructs.h:41
void saturateError(int _uid, vmml::Vector3d _pos)
ErrorMetricType
Definition: TerrainConfigStructs.h:34
void generateBintree(const vmml::Vector3d _pos)
Definition: KPatchBintree.cpp:277
void drawPrimitives()
Definition: KPatchBintree.cpp:688
void rescale(float _input)
Definition: KPatchBintree.cpp:769
PatchMode
Definition: KPatchBase.h:21
void generateBintreeNodesAtLod(int _uid, int _lod, const vmml::Vector3d &_pos)
Definition: KPatchBintree.cpp:297
VisualizationMode
Definition: TerrainConfigStructs.h:17