- Removed yaw and pitch properties from camera create method
- Removed movement code from camera
- Added setYaw and setPitch to camera class
- Created Player class which holds camera class
- Player position and yaw/pitch are synced with camera
- Movement code moved to player class
- Added collision in player class
- Added gravity and friction to player
- Created Ray class
- Used Ray class to get what block player is looking at
- Show currently looked at block in DebugGui
- Changed DebugGUI class to be more concise and show more information
- Added a crosshair to the game, temporarily in GameInstance class
Created TextBuilder class
Created HudText class, extends Entity
Added HudText objects to GameInstance to show FPS
Removed some debug text from misc classes
- Made BlockDef class
- Made BlockAtlas reference BlockDefs
- Made static BlockModel::Square method for creating cube BlockMeshes.
- Played with some lua interpretation, commented out.
Removed BlockChunk property from MeshChunk
MeshChunk::build() now takes vectors for the indices and vertices instead of doing it itself
World class now MultiThreads generation of MeshChunks using the BiQueueThreadPool spec developed by Aurailus (not conforming)
World::ThreadData object for simplifying communication between threads
- Added PerlinNoise.(cpp/hpp) to repository.
- New BlockChunk class for storing block info
- New MeshChunk class, extends Entity and has a `build` method for building a mesh
- World Class that encapsulates some world logic
- ArrayTrans3D class for converting vectors to ints in chunks
- Rewrote some code in Main to use the World class
- MeshGenerator now uses a blockChunk and a blockAtlas
- MeshGenerator is not doing any culling in this commit
- Changed addFaces to use a glm::vec3
- BlockAtlas now has a `model` variable containing a BlockModel
- Changed the window title to be more descriptive
- Changed references of 'atlas' to 'textureAtlas'
- Added a secondary load method to texture that accepts a byte[]
- Disable multisampling as it causes a problem with the atlas
- Added TODO to fix the multisampling problem later
- Removed MeshData type and made MeshGenerator::build require pointers to vectors
- Removed addBlockModel, added addFaces, properly handle BlockModels in MeshGenerator
- Added cleanup method & deconstructor to MeshPart
- BlockModel class that contains vector of MeshParts
- MeshPart class that contains Vertices and Indices
- MeshVertexIter & MeshIndexIter classes for MeshPart