Commit Graph

303 Commits

Author SHA1 Message Date
James Seibel fccd1db045 Add the ability to select and deselect worlds 2021-03-31 14:18:11 -05:00
James Seibel 6c515350bc Clean up references to LodDimension objects 2021-03-31 14:15:49 -05:00
James Seibel 50aee9dfb2 Move getCurrentWorldID into the LodUtils class 2021-03-31 10:56:50 -05:00
James Seibel 0649504770 Fix #16 (stop placeholder chunks from being saved to disk) 2021-03-30 14:55:12 -05:00
James Seibel 29068f9550 Fix the projection matrix not being reset after rendering LODs
Regressive fix for 18c08ccd.
2021-03-30 08:07:15 -05:00
James Seibel 18c08ccd88 Fix #8 and #9 (inaccurate lighting and rendering behind transparent objects)
Instead of using a stencil and rendering in the forgelastdraw event, we now you a mixin to render right before the sold block layer.

The main purpose of this was to allow for LODs to be drawn behind transparent objects; however as a happy accident it seems to have also improved the lighting, I'm not sure if it is perfect, but it is much better.
2021-03-28 22:39:58 -05:00
James Seibel b71d6a5e3f Closes issue #10 (Regen LODs on block change) 2021-03-27 21:49:23 -05:00
James Seibel 8f619f3fa1 Closes issue #12 (improve world change detection) 2021-03-27 21:28:03 -05:00
James Seibel eab16ff20a Move all buffer building into the LodBufferBuilder and improve chunk generation logic
Chunks generation requests should no longer stack exponentially (before whenever one chunk was generated the LODs would be regenerated, causing more chunks to generate so if more than one chunk was ever generated at a time they would stack).
2021-03-25 23:04:48 -05:00
James Seibel d913ed9621 Fix issue #11 (generate chunks closer to the player first) 2021-03-25 16:31:11 -05:00
James Seibel a649cf179f comment out a debug statement 2021-03-25 16:04:02 -05:00
James Seibel cf5de39250 Rename SingleLodChunkGenWorker to LodChunkGenWorker 2021-03-25 16:03:44 -05:00
James Seibel bab3cd9656 Move SingleLodChunkGenWorker into the builders package 2021-03-24 21:59:32 -05:00
James Seibel cafd4f0c47 Move all LodChunk generation code to the LodBuilder object 2021-03-24 21:59:06 -05:00
James Seibel e20833225f Slightly improve LOD generation speed and add code related to heightmap
The slight speed increase is done by only generating the chunk to the "FEATURES" status instead of "FULL".

The code related to the heightmap is currently unused, since the LOD color generation requires blocks. Although it may have some use in the future so I will keep it in, albeit commented out.
2021-03-24 19:09:30 -05:00
James Seibel 14a06c220b Move the enums into their own package 2021-03-24 17:50:17 -05:00
James Seibel e5a5ba327e Add a TODO 2021-03-19 20:36:11 -05:00
James Seibel fedc8f7b66 Add LODs generating outside the player's view distance
It isn't fast enough to keep up with flying creating or spectator players; but it does function without causing heavy server or client lag.
LODs are generated in lines starting far away from the player and moving towards them, in the future they should be generated close to the player first.

Also add a RegionPos object and a way to convert from ChunkPos objects in LodUtils
2021-03-19 20:25:23 -05:00
James Seibel a151054b48 Fix issue #7 (screen space distortions not be applied) 2021-03-04 21:30:19 -06:00
James Seibel 14c69971f6 Fix a bug with holding grass blocks
For some reason hold grass blocks (and presumably other biome colored blocks)  would look gray if GL_COLOR_MATERIAL is disabled
2021-03-04 21:16:41 -06:00
James Seibel bf6813b6a5 Improve magic number comments 2021-02-28 17:17:03 -06:00
James Seibel f96a6dcecd Improve how block color is determined 2021-02-28 16:35:46 -06:00
James Seibel 306f575edd Fix not regening the LODs when changing dimensions 2021-02-28 16:15:40 -06:00
James Seibel 8babc5aa65 Fix a bug related to disabling depth testing 2021-02-28 16:03:38 -06:00
James Seibel 6abbf328fb Remove issue #6, partially fixed in 6bedfa5 2021-02-28 16:01:51 -06:00
James Seibel 6bedfa5136 Partially implement screen swirling effects
It isn't great, but it works well enough
2021-02-28 16:00:18 -06:00
James Seibel e02156b1a4 Add LOD lighting 2021-02-28 15:07:09 -06:00
James Seibel 673474cd64 Re-implement config files 2021-02-27 21:45:37 -06:00
James Seibel 807818e078 Fix a few meta info files 2021-02-27 21:45:12 -06:00
James Seibel 22840bd4e3 Small refactor to ClientProxy 2021-02-27 21:03:00 -06:00
James Seibel 4c71c9aad5 Add small refactors and improvements to LodRenderer 2021-02-27 20:39:47 -06:00
James Seibel cc1683f573 Remove an unneeded variable decleration 2021-02-27 19:44:49 -06:00
James Seibel 62dc86d64e Update LodRenderer class comment 2021-02-27 19:44:37 -06:00
James Seibel ef65f87777 Improve how different fog levels are rendered 2021-02-27 19:41:45 -06:00
James Seibel 055f64e7c6 Improve the world changing logic 2021-02-27 19:09:52 -06:00
James Seibel a0fc9835b6 rename getWorldIdentifier to getCurrentWorldID 2021-02-27 19:08:11 -06:00
James Seibel b127ad0538 prevent a potential null pointer 2021-02-27 19:04:42 -06:00
James Seibel e1cf190a7f Replace getWorldName with getWorldIdentifier 2021-02-27 19:04:17 -06:00
James Seibel 27caab932c re-add depth testing
It was disabled by default previously
2021-02-27 19:02:36 -06:00
James Seibel d06415bd3e Remove the unneeded common proxy 2021-02-27 18:59:50 -06:00
James Seibel 3d6ba0fad9 Remove a test mixin file 2021-02-27 17:22:48 -06:00
James Seibel 84bdd3dd90 Fix fog not rendering 2021-02-27 17:07:44 -06:00
James Seibel e81cd17ecf Fix the FOV being incorrect 2021-02-27 11:38:00 -06:00
James Seibel 58b0eafe29 Replace the old render logic with VBO rendering 2021-02-27 11:31:53 -06:00
James Seibel 336cfb0749 Remove duplicate files 2021-02-26 22:46:10 -06:00
James Seibel 0f5990e2f8 Remove an unneeded variable 2021-02-26 17:45:00 -06:00
James Seibel 7acad77eda Fix LOD color generation 2021-02-26 17:40:53 -06:00
James Seibel fb0ff2a00c Improve naming of methods in LodChunk 2021-02-26 13:39:08 -06:00
James Seibel ab7157476b Fix a potential null pointer exception 2021-02-26 13:38:54 -06:00
James Seibel 40bc930d34 Add missing info to a comment 2021-02-26 13:21:32 -06:00