28     virtual void localRender(QOpenGLFunctions& gl) 
const override;
 
   44     void renderPatch(QOpenGLFunctions& gl, 
int iX, 
int iZ) 
const;
 
virtual void localRenderSetup(QOpenGLFunctions &gl, Program &program) const override
override this method to customize the rendering process 
Definition: terrain.cpp:99
 
LevelConfiguration m_levelConfig
Definition: terrain.h:50
 
Track & rightTrack() const 
Definition: terrain.cpp:54
 
std::unique_ptr< std::vector< GLfloat > > m_terrainMapData
Definition: terrain.h:55
 
void deallocateTerrainMap(QOpenGLFunctions &gl) const 
Definition: terrain.cpp:155
 
The LevelConfiguration class contains all information necessary to configure a Level instance as well...
Definition: levelconfiguration.h:25
 
virtual void doForAllChildren(std::function< void(AbstractGraphicsObject &)> callback) override
override this method to make child objects known 
Definition: terrain.cpp:66
 
The Level class is a generator for level data such as terrain geometry and track courses. 
Definition: level.h:26
 
bool m_terrainMapOnGPU
Definition: terrain.h:56
 
virtual void localRenderCleanup(QOpenGLFunctions &gl, Program &program) const override
override this method to customize the rendering process 
Definition: terrain.cpp:120
 
int m_currentPatchZ
Definition: terrain.h:61
 
virtual void localRender(QOpenGLFunctions &gl) const override
this method contains the default render code using m_geometry, m_program and m_material ...
Definition: terrain.cpp:78
 
std::unique_ptr< Track > m_leftTrack
Definition: terrain.h:53
 
std::unique_ptr< Track > m_rightTrack
Definition: terrain.h:52
 
The Terrain class renders the terrain using patches and a displacement texture. Patches that are too ...
Definition: terrain.h:23
 
The AbstractGraphicsObject class is the root of a class hierarchy of objects that contain independen ...
Definition: abstractgraphicsobject.h:27
 
bool m_terrainMapValid
Definition: terrain.h:57
 
int m_currentPatchX
Definition: terrain.h:60
 
The program class implements the basic functionality used for binding programs to openGL...
Definition: program.h:18
 
GLuint m_terrainMap
Definition: terrain.h:58
 
The World class represents a running game instance and contains all graphical (3D) elements of the sc...
Definition: world.h:46
 
void allocateTerrainMap(QOpenGLFunctions &gl) const 
Definition: terrain.cpp:136
 
Definition: eventhandler.cpp:18
 
void configureWith(const Level &level)
sets the displacement texture and track courses according to level 
Definition: terrain.cpp:126
 
void renderPatch(QOpenGLFunctions &gl, int iX, int iZ) const 
 
Track & leftTrack() const 
Definition: terrain.cpp:60
 
The Track class represents a track that a Train moves on. It is currently not rendered. The course is represented by a Polyline instance. 
Definition: track.h:16
 
Terrain(World &world, const Level &level)
Definition: terrain.cpp:38