GlobeEngine
MeshExampleEngine.h
Go to the documentation of this file.
1 
9 #ifndef GlobeEngine_MeshExampleEngine_h
10 #define GlobeEngine_MeshExampleEngine_h
11 
12 #include <math.h>
13 #include <ctime>
14 #include <iostream>
15 #include <stdio.h>
16 #include <vector>
17 #include "OpenGL_Includes.h"
18 #include "Engine.h"
19 #include "Shader.h"
20 #include "FlightCamera.h"
21 #include "Common.h"
22 #include "CoordinateSystem.h"
23 #include "SceneStateSet.h"
24 #include "DrawableComponent.h"
25 #include "Plane.h"
26 #include "DebugMap.h"
27 #include "MultiLineObject.h"
28 #include "MeshExampleComposition.h"
29 #include "PLYObject.h"
30 #include "TinyOBJ.h"
31 #include "Mesh.h"
32 #include "Heightfield.h"
33 
34 namespace geMeshExample {
36  {
37  public:
40 
41  void clear();
42  void destroy();
43  void create();
44 
45  // overrides from ge::Engine
46  void initializeScene(std::string _projectsrcPath=0);
47  void drawScene();
48  void resize(int _w, int _h);
49  void update();
51 
52  void loadRoomMesh();
53 
54  private:
55  MeshExampleComposition uiComposition;
56  ge::FrameBufferObject gBuffer;
57 
58  std::shared_ptr<ge::Shader> programForUtilities;
59  std::shared_ptr<ge::Shader> programForPlanes;
60  std::shared_ptr<ge::Shader> programForDebug;
61  std::shared_ptr<ge::Shader> programForMeshes;
62 
63  // CoordinateCross
64  ge::CoordinateSystem coordinateSystem;
65  // Basic scene state
66  ge::SceneStateSet sceneStates[1];
67 
68  std::shared_ptr<ge::Plane> plane;
69  std::shared_ptr<geData::Mesh> airplaneMesh;
70 
71  // Debugger functionality
72  geUtil::DebugMap debugmap;
73 
74  vmml::Vector2ui screenExtent;
75  float rot;
76 
77  geData::Heightfield heightfield;
78  };
79 }
80 #endif
Definition: MeshExampleComposition.h:16
void clear()
Definition: MeshExampleEngine.cpp:14
Definition: DebugMap.h:18
MeshExampleEngine()
Definition: MeshExampleEngine.cpp:4
Definition: FrameBufferObject.h:20
void updateFramebufferStandardID()
Definition: MeshExampleEngine.cpp:168
void create()
Definition: MeshExampleEngine.cpp:27
void initializeScene(std::string _projectsrcPath=0)
Definition: MeshExampleEngine.cpp:32
Definition: MeshExampleEngine.h:35
void resize(int _w, int _h)
Definition: MeshExampleEngine.cpp:151
Definition: MeshExampleComposition.h:14
Definition: Engine.h:20
void drawScene()
Definition: MeshExampleEngine.cpp:122
~MeshExampleEngine()
Definition: MeshExampleEngine.cpp:9
void destroy()
Definition: MeshExampleEngine.cpp:22
Definition: SceneStateSet.h:41
void update()
Definition: MeshExampleEngine.cpp:107
Definition: Heightfield.h:19
Definition: CoordinateSystem.h:17