Commit Graph

112 Commits (4e5467d92fe619509f91c0d289345d9eb958cf0b)

Author SHA1 Message Date
Benjamin Collings 4e5467d92f
Create LICENSE.md 2019-04-09 15:57:02 -07:00
Benjamin Collings 41e07e8589
Fix broken line break in README.md 2019-04-09 15:55:25 -07:00
Benjamin Collings 5028df4d3e
Create README.md 2019-04-09 15:55:00 -07:00
aurailus b1c10e4d90 Fix debugGui pointed block field. 2019-04-09 15:49:31 -07:00
aurailus d8e9f0eb7a Wireframe is partially transparent and keeps a constant visual scale,
Allow Partial Transparency in world.fs,
Fix partially transparent pixels in tallgrass.
2019-04-09 12:13:07 -07:00
aurailus bc52cd6e02 SelectionBox support for block collision boxes. 2019-04-09 00:51:38 -07:00
aurailus 2653cc46d7 Simple WireframeGenerator and collision box 2019-04-08 22:55:19 -07:00
aurailus 2539352728 Modify Vertex Attributes to allow colored vertices. 2019-04-08 20:21:15 -07:00
aurailus 5e9a0774be BugFixes, Optimizations, Speed Improvements
#Fixes
* Fix Segfault when you go back to previously generated chunks
* Make dimension & BlockChunks use shared_ptrs (finally)
* MeshGenStream no longer unnecessarily duplicates BlockChunks
* Different Vertical Gen Range to Horizontal

# Clean Up
* Convert most MeshGenerator functions to using references (safety)
* Optimize Flora noise
* Remove raw C array Mesh Initializer (it was messy)
* Pre-generate ActiveRange positions and remove runtime sorting
2019-04-08 19:18:03 -07:00
aurailus a1e5f39652 Changed Region & MapBlock Sizes to 4 2019-04-07 18:07:36 -07:00
aurailus 128c220ae7 Generic RegionHandler class, make Dimension extend said class. 2019-04-07 01:47:19 -07:00
aurailus 25a73fa480 Use the new Dimension class
* Fix the DebugGui Background Box
2019-04-07 01:22:36 -07:00
aurailus bf24541551 Merge remote-tracking branch 'origin/master' 2019-04-07 00:54:23 -07:00
aurailus 63046936e7 Add Dimension Class, Clean up DebugGui
* Clean up DebugGui's terrible update function.
* Fix TransPos functions and add namespacing for clarity.
* Dimension, MapBlock, and Region classes.
* Tests for Dimension functionality.
2019-04-07 00:54:07 -07:00
100To 7bf41aac67 Delete Zeus Folder 2019-04-06 15:59:23 -07:00
aurailus ec87cec560 TransPos class commit 2019-04-06 01:47:07 -07:00
aurailus a80c192a25 Move NoiseSample class to gen folder, delete noise folder. 2019-04-04 01:12:41 -07:00
aurailus f69b1bbfc9 Adjust player move speed 2019-04-03 23:32:24 -07:00
aurailus 1217969102 Font is no longer monospaced!
* Font is not monospaced
* Minor texture changes for font glyphs
* Shadow under letters
2019-04-03 23:21:43 -07:00
aurailus cd6d62696b MapBlock & Region functions in TransPos.h 2019-04-03 23:21:05 -07:00
aurailus 7771db2eb5 Fixed Coordinate System
* For some reason, there was a "negative" 0, (two block positions were
* considered 0 in each axis), there was also a 16 in some chunks. This
* was super weird, and problematic.
2019-04-03 19:26:37 -07:00
aurailus f962ddb4b3 Procedural Chunk Generation & Bugfixes
* Fix shader making bottom faces transparent.
* Change FOV to 70
* Fix chunk generation(previously was using position vector incorrectly)
* Reimplement movement generation
* Add username class to player
2019-04-03 13:27:06 -07:00
aurailus 16ff339a2b Add flowers, Pad Texture Atlas, Move block break code to Player class 2019-04-02 20:58:20 -07:00
aurailus e50ad18663 Added fog to the shader, added keybinds to toggle UI
* F1 Toggles all UI
* F3 Toggles Debug Menu (Except FPS)
Added visible property to Entity class
Decrease Viginette intensity
2019-04-01 23:05:16 -07:00
aurailus 6fe900eb29 Rewrite Map Generation using LibNoise! 2019-04-01 23:03:36 -07:00
aurailus 7ba75bb805 Implement Local Generation Depth 2019-04-01 14:15:15 -07:00
aurailus 03acd95e7c Rewrite LocalWorld Class
* MeshGenStream class to Mesh Chunks
* WorldInterpolationStream class to client-side-gen chunks (wip)
* Clean up attemptMeshChunk, adjacentChunkExists, and getAdjacentsCull
* Remove handleMeshGenQueue and handleChunkGenQueue
* Rewrite LocalWorld Update method to use Streams
* Delete WorldThreadDefs
* Seperate chunk functions into ChunkVec class
* Seperate Vec3Compare function into Vec3Compare class
* VecUtils class to get cardinal directions
2019-03-30 00:48:02 -07:00
aurailus fc6ba195c3 Commit some Missing Files 2019-03-19 23:55:45 -07:00
aurailus 5d87863cb8 Replace Perlin noise with Simplex Noise, Optimize NoiseSampler class. 2019-03-19 23:53:24 -07:00
aurailus 4a195a96cb Server debug information, distance sorted generation, faster meshing. 2019-03-15 23:22:53 -07:00
aurailus e85451abfe Misc World Graphical Tweaks
* Brighten the world in the vertex shader a little bit
* Set the clear color to be brighter
* Cap the player's yaw value
* Add a viginette
2019-03-07 22:45:58 -08:00
aurailus b66ca8284b Server Side Chunk Generation
* Server World Class
* WorldGenStream class to handle multithreaded map generation
* ServerPlayer stores active chunk boundaries

* BlockChunk stores position
* Renamed client World to LocalWorld
* Disabled client side Generation
* ServerConnection stores chunk packets to be used by the GameScene,
  which gives them to the world (change later?)

* Reenabled "BlockChunk Packet Encoding" test in tests/BlockChunk.cpp
2019-03-07 17:43:05 -08:00
aurailus 3bba3adf66 Rename World to LocalWorld 2019-03-05 16:54:09 -08:00
aurailus ec1b4ee4ec Show VRAM usage on debug menu 2019-03-04 22:33:50 -08:00
aurailus 314e1ce33e Converted PacketType & PacketChannel const ints into enums. 2019-03-04 18:16:19 -08:00
aurailus 96ea94eee1 Updated DebugGUI to show culled chunks proportion.
* Added setMax function to histogram
2019-03-04 15:22:15 -08:00
aurailus 2c035ecc57 Frustum Culling
* Frustum class for Frustum Calculations
* FrustumAABB class for Axis Aligned Bounding Boxes
* FrustumPlane classes for defining the planes
* Cleaned up Ray class
* Converted Camera properties to variables
* Only render chunks if inside of Frustum
2019-03-03 23:43:53 -08:00
aurailus 67f8440647 Preparing for Frustum Culling
* Moved matrix related code to the camera
* Made GUI Elements and the Perspective / Ortho matrices resize on
  buffer (window) resizing.
2019-03-02 17:24:15 -08:00
aurailus 012bea39e9 New Map Generation
* Interpolation Class
* noise folder with NoiseParams, NoiseSampler, and NoiseSample classes
* MapGenJobs are in a seperate file
* Rewrite of MapGen class.
2019-03-01 17:16:02 -08:00
aurailus 7fb6bdc8ee BlockChunk no longer uses a pointer to it's data. 2019-02-13 17:39:39 -08:00
aurailus 98387e9571 New Map Generation class using 3D Perlin noise - First commit
* Changed World thread vars a bit to balance performance with output.
2019-02-13 17:23:53 -08:00
aurailus 7318a6b895 Improve Crosshair Texture and add a Draw Calls histogram to the GUI
* Allow histograms to have dynamic max values
* Change ArrayTrans3D to use a reference for indAssignVec
2019-02-13 17:23:08 -08:00
aurailus 08a231ad2e Refactor of the DebugGui
* Rewrite GUI shader to allow colored rectangles
* Histograms have overwrite mode to make it easier to read them
* White histogram textures
* Mesh Gen and Map Gen histograms
* More distinct and easy to read Debug Gui
2019-02-10 19:40:12 -08:00
aurailus 0574547f61 Add some tests 2019-02-10 00:29:15 -08:00
aurailus 3c14ca14da Support window resize, Histogram class.
* Resize buffers when the window resizes.
* Histogram class for displaying per-frame data.
* Histogram can either push data to the left when new data arrives
  (false) or Overwrite with a moving insertion point (true) based on the
  editInPlace variable.
2019-02-10 00:28:39 -08:00
aurailus df0e74b3e7 Client Positions are shown using crosshairs on all other clients!
* Server Regurgitates player location info to all clients
* PlayerEntity class for representing other Players on the server
* Temporary ServerEntity rendering code in GameScene
2019-02-08 15:35:59 -08:00
aurailus a0cd2c554b Overhaul Server & ServerConnection classes
* Handle packet events properly on both classes
* PacketType & PacketChannel class
* ServerPeer & ServerPlayer classes for storing info on the server
* ConnectionList class to organize ServerPlayers and ServerPeers
2019-02-08 00:25:45 -08:00
aurailus 0706a8b457 Seperate Serialization from Packet class into its own class.
Speed up serialization with cheaty of methods which will need to be
  reviewed when communicating to systems of different architectures.
2019-02-07 19:52:47 -08:00
aurailus 201d70f291 GameGui Class to encapsulate crosshair initialization code. 2019-02-05 22:58:10 -08:00
aurailus ec458cb16f Add Test Cases for NetHandler 2019-02-05 22:57:32 -08:00