Added Terrain::NormalMap and generation from a Terrain::HeightMap
Started a better face loading system for the OBJ format
Started integrating OpenGLQuickItem
OBJ now loads shaders correctly while running in non-main threads
Created QuickItem::Camera
Moved the Terrain3D class into Application. Terrain3D now inherits from the new OpenGLQuickView which replaces OpenGLWindow.
QuickItem::Camera now uses a World::Camera to do rendering
Cleanup
Replaced QOpenGLVertexArrayObject with the raw OpenGL equivalent because there is a bug with Qt that causes this to crash during deconstruction
QuickItems::CameraItem now can expose it's internal World::Camera through a weak_ptr
Added BackgroundUpdater thread class that updates things such as the mouse
Fixed proper thread cleanup
Got the camera controls working again
Added a reusable Terrain3DWindow QML type. Fixed mouse capture by OpenGLQuickView.
Fixed a crash when no Camera was specified in the QML file
Removed the need for subclassing IOpenGLRenderer and OpenGLFunctions inside of a nested class of a class subclassing OpenGLQuickItem
Organized where QML files are stored
Merge branch 'normalMap' into rogue2
OpenGLQuickItem now properly resize the viewport based on the current size of the QQuickItem