8 #ifndef GlobeEngine_GlobeEngine_h
9 #define GlobeEngine_GlobeEngine_h
16 #include "OpenGL_Includes.h"
70 void create(
const std::shared_ptr<geGIS::SceneBlueprint>& _scene);
75 void resize(
int _w,
int _h);
79 void drawDecals(std::shared_ptr<ge::Camera> _cam);
90 this->pickingColor = _color;
94 this->pickingOffset = _offset;
127 vmml::Vector2d
get2dPoint(vmml::Vector3d _p, vmml::Matrix4d _modelMatrix = vmml::Matrix4d::IDENTITY);
139 void setGPUBufferHandle(GLuint _in, GLuint _inBound,
unsigned int _maxDepth, GLuint _attrHandle=0);
168 void paintAccumulatedLines();
169 void drawOcclusionQueryPass();
170 void drawScreenshot(
bool _ssaoActive);
171 void drawAmbientOcclusionPass();
173 void drawShadowMapPass();
174 void drawStencilBuffer(std::shared_ptr<ge::Camera> _cam);
175 void drawFeatures(std::shared_ptr<ge::Camera> _cam);
176 void drawClusteredVectorMaps();
177 void setupSceneCameras();
178 void pickFromFramebuffer(
int _AASizeMultiplicator = 1);
179 void drawDebugMaps();
181 GLfloat renderModeValue;
182 std::shared_ptr<ge::Shader> programForDebug;
183 std::shared_ptr<ge::Shader> programForDebugDepth;
184 std::shared_ptr<ge::Shader> programForDebugStencil;
185 std::shared_ptr<ge::Shader> programForDebugInt;
186 std::shared_ptr<ge::Shader> programForUtilities;
187 std::shared_ptr<ge::Shader> programForSkybox;
188 std::shared_ptr<ge::Shader> programForColoredGeometry;
189 std::shared_ptr<ge::Shader> programForCubes;
190 std::shared_ptr<ge::Shader> computeProgramForClusteredShading;
196 std::shared_ptr<geGIS::ModelLayer> modellayer;
197 std::shared_ptr<SceneBlueprint> sceneBlueprint;
207 std::shared_ptr<geData::AnimationPath> cameraFlight;
210 bool animationInProgress;
224 int cameraIdxOcclusions;
225 int cameraIdxShadows;
234 vmml::Vector3f pickingColor;
235 vmml::Vector2f pickingOffset;
244 bool inOcclusionQueryProcess;
247 float antialiasingWeight;
249 double superSamplingSizeMultiplicator;
250 bool superSamplingActive;
259 std::string screenShotFilePath;
262 bool shadowMappingEnabled;
263 vmml::Matrix4d invViewMatrix;
264 vmml::Matrix4d depthTextureMatrix;
265 vmml::Matrix4d biasMatrix;
270 std::shared_ptr<geGIS::SceneBlueprint> earthscene;
276 bool clusteredShadingActive;
277 bool mortonOrderShadingActive;
278 bool mouseLensForGPUFeaturesActive;
281 bool recompileShaders;
284 std::shared_ptr<ge::Texture2Drgba> computeTexture;
287 std::shared_ptr<geFlow::VolumeRenderer> volumeRenderer;
288 std::string volumeShaderPath;
291 bool reportCommandApplied;
void startCameraAnimation()
Definition: GlobeEngine.cpp:1365
void saveScreenshot(std::string _filePath, int _bufferID=0)
Definition: GlobeEngine.cpp:1158
vmml::Vector2d get2dPoint(vmml::Vector3d _p, vmml::Matrix4d _modelMatrix=vmml::Matrix4d::IDENTITY)
Definition: GlobeEngine.cpp:1205
void setAAWeight(float _in)
Definition: GlobeEngine.cpp:1143
~GlobeEngine()
Definition: GlobeEngine.cpp:48
void showSkybox(bool _in)
Definition: GlobeEngine.cpp:1173
GLint entityID
Definition: GlobeEngine.h:52
void setPickingColor(vmml::Vector3f _color)
Definition: GlobeEngine.h:89
void selectPixel(int x, int y)
Definition: GlobeEngine.cpp:1133
void setRenderingWithVolume(bool _volumeVis)
Definition: GlobeEngine.cpp:1201
void setRenderingWithTerrain(bool _terrainVis)
Definition: GlobeEngine.cpp:1197
void drawDecals(std::shared_ptr< ge::Camera > _cam)
Definition: GlobeEngine.cpp:689
GLuint colorChannel2
Definition: GlobeEngine.h:58
Definition: ClusterGrid.h:17
int pickCoordinates[2]
Definition: GlobeEngine.h:49
void updateFramebufferStandardID()
Definition: GlobeEngine.cpp:1090
Definition: DebugMap.h:18
void setGPUFeatureLineRadius(double _rad, double _maxRad)
Definition: GlobeEngine.cpp:1279
void moveCameraToPosition(vmml::Vector3d _pos)
Definition: GlobeEngine.cpp:1118
Definition: DebugLogger.h:22
void setSceneCompositionHandleForStencilTexture(std::shared_ptr< ge::TextureHandle > _in)
Definition: GlobeEngine.cpp:1210
Definition: FrameBufferObject.h:20
Definition: GlobeEngine.h:47
Definition: GlobeEngine.h:62
std::shared_ptr< geFlow::VolumeRenderer > getVolumeRenderer()
Definition: GlobeEngine.cpp:1346
void showCameraFrustums(bool _in)
Definition: GlobeEngine.cpp:1110
Definition: GlobeComposition.h:161
virtual void create()
Definition: Engine.cpp:61
double getSuperSamplingMultiplicator(double _in)
Definition: GlobeEngine.cpp:1247
void drawScene()
Definition: GlobeEngine.cpp:558
void resize(int _w, int _h)
Definition: GlobeEngine.cpp:1057
Definition: GlobeComposition.h:201
GLint pickResultID
Definition: GlobeEngine.h:51
bool isMortonOrderShadingEnabled() const
Definition: GlobeEngine.cpp:1255
RENDERSTATE
Definition: DrawableComponent.h:28
GLint pickResultGroup
Definition: GlobeEngine.h:50
Definition: ColorisationTable.h:20
void setSSAOParameter(SSAOParameter _in)
Definition: GlobeEngine.cpp:1231
void setSuperSamplingMultiplicator(double _in)
Definition: GlobeEngine.cpp:1243
void setGPUMouseLensCategory(int _in)
Definition: GlobeEngine.cpp:1287
void setBackgroundColor(vmml::Vector3f _color)
Definition: GlobeEngine.cpp:1164
GBufferHandles getGBufferHandles() const
Definition: GlobeEngine.cpp:700
void clear()
Definition: GlobeEngine.cpp:54
bool isShadowMappingEnabled()
Definition: GlobeEngine.cpp:1219
Definition: GlobeComposition.h:48
void setGPUStyleBufferHandles(geGIS::StyleCollectionUniformHandles _in)
Definition: GlobeEngine.cpp:1275
void setModelAndBluePrintReference(std::shared_ptr< geGIS::ModelLayer > _modelLayer)
Definition: GlobeEngine.cpp:85
void initializeScene(std::string _pathFile=0)
Definition: GlobeEngine.cpp:91
std::shared_ptr< geFlow::VolumeComposition > getVolumeComposition()
Definition: GlobeEngine.cpp:1341
void setEditortable(geData::HeightColorTable _colortable)
void setEdgeHightlightingThreshold(float _in)
Definition: GlobeEngine.cpp:1239
bool isAmbientOcclusionEnabled()
Definition: GlobeEngine.cpp:1227
void enableEdgeHightlighting(bool _in)
Definition: GlobeEngine.cpp:1235
void setReportActive(bool _in)
Definition: GlobeEngine.cpp:1291
void disableVolumeRenderer()
Definition: GlobeEngine.cpp:1336
GlobeEngine()
Definition: GlobeEngine.cpp:27
GLuint depthChannel
Definition: GlobeEngine.h:59
void setGPUMouseLensRadius(float _in)
Definition: GlobeEngine.cpp:1283
void enableVolumeRenderer(vmml::Vector3d _scale, vmml::Vector3d _position)
Definition: GlobeEngine.cpp:1296
void setPickingOffset(vmml::Vector2f _offset)
Definition: GlobeEngine.h:93
std::shared_ptr< ge::Shader > getActiveCompositionShader()
Definition: GlobeEngine.cpp:1350
void drawUtilities(std::shared_ptr< ge::Camera > _cam)
Definition: GlobeEngine.cpp:865
Definition: SceneStateSet.h:41
void requestOcclusionQuery()
Definition: GlobeEngine.cpp:1128
void setMouseCoordForGPUFeature(vmml::Vector2f _mouseCoord)
Definition: GlobeEngine.cpp:1358
void update()
Definition: GlobeEngine.cpp:383
CAMERATYPE
Definition: Camera.h:21
void setAAActive(bool _in)
Definition: GlobeEngine.cpp:1148
void enableGPUFeatures(geGIS::GPUFeatureFlags _in)
Definition: GlobeEngine.cpp:1259
GLuint colorChannel1
Definition: GlobeEngine.h:57
void applyVolumeInfo()
Definition: GlobeEngine.cpp:1324
void setTFforVolumeRendering(unsigned char *_transferFunctionData)
Definition: GlobeEngine.cpp:1370
void recompileShadersAfterNextUpdate()
Definition: GlobeEngine.cpp:1354
bool isClusteredShadingEnabled() const
Definition: GlobeEngine.cpp:1251
Definition: GlobeComposition.h:92
void destroy()
Definition: GlobeEngine.cpp:74
Definition: CoordinateSystem.h:17
void setGPUBufferHandle(GLuint _in, GLuint _inBound, unsigned int _maxDepth, GLuint _attrHandle=0)
Definition: GlobeEngine.cpp:1269
Definition: GlobeComposition.h:17
Definition: GlobeEngine.h:55