Commit Graph

221 Commits

Author SHA1 Message Date
tom lee a295dcafd4 Fix Init Null Exception (LodBuilder getMinHeight())
Fixed someone calling world.getMinHeight() on LodBuilder static init.
The world hasn't even been loaded... Also added it so that it updates on
world / dimension change.
2021-12-15 16:05:13 +08:00
James Seibel f9914f9336 slightly change some config wording 2021-12-14 23:27:46 -06:00
James Seibel 13e9df5b48 Change the sodium support to use a flat render distance
Newer versions of sodium store chunks in such a way that using reflection to get them is complicated at best. So for now we will just use the render distance and estimate which chunks should be loaded.
2021-12-14 23:27:27 -06:00
James Seibel 98c394bad1 Add a default createChunkPos(long) to IWrapperFactory 2021-12-14 20:51:29 -06:00
cola98765 444bf3b8bc made getMinHeight() default, so when it's not implemented it just returns 0 2021-12-14 21:40:33 +01:00
cola98765 455281a32d no longer using getMinimumWorldHeight() form version constants, added replacement in WorldWrapper. 2021-12-14 21:36:51 +01:00
cola98765 7b613ae8e3 rework for 1.18 y<0 2021-12-14 21:12:02 +01:00
cola98765 443d6165fa final fix for 1.18 y<0? 2021-12-14 20:45:38 +01:00
cola98765 a4ebe3e3c1 me stupid 2021-12-14 20:07:10 +01:00
cola98765 6ac3edf280 adding offset back 2021-12-14 19:59:33 +01:00
cola98765 a1163dc340 removed debug message 2021-12-14 19:41:01 +01:00
cola98765 38b7e66ef8 different debug message 2021-12-14 19:28:56 +01:00
cola98765 a843a0ed65 disable debug message 2021-12-14 19:24:20 +01:00
cola98765 e0d2d2530f disable debug message 2021-12-14 19:24:01 +01:00
cola98765 44e2936b68 made very logs for merge bug 2021-12-14 19:06:21 +01:00
cola98765 dfa717e0e3 revert everything around this merge bug 2021-12-14 19:04:06 +01:00
cola98765 69844417ce potential fix to that merge bug 2021-12-14 18:37:26 +01:00
cola98765 8370402dc1 potential fix to that merge bug 2021-12-14 18:27:01 +01:00
cola98765 cbb32bc996 potential fix to that merge bug 2021-12-14 18:24:42 +01:00
cola98765 ac876c0030 potential fix 2021-12-14 18:14:14 +01:00
cola98765 2176807a0a fixed lightmap 2021-12-14 18:09:39 +01:00
cola98765 47732b7f57 just playing around with <0 y 2021-12-14 17:57:27 +01:00
cola98765 ff9afee5b4 fixed loading data being corrupted 2021-12-14 17:29:55 +01:00
tom lee b5665a59c0 Renderer: Fix critical bug that black screen Minecraft 2021-12-15 00:04:04 +08:00
cola98765 483ecf2e4d fixed couple things around Leo's merge. 2021-12-14 14:57:49 +01:00
tom lee 30eab27a49 Removed build-breaking imports
Ha. Told me to always test the build before pushing. Turns out you also
didn't test it!
2021-12-14 21:38:14 +08:00
tom lee d1b5200fed Renderer: Fixup some stuff that maybe an issue 2021-12-14 21:28:09 +08:00
Morippi 4a4728d41e fixed some part and added the newUpdate for now (still unsuded and doesn't use the slice) 2021-12-14 14:11:11 +01:00
Morippi c9204a2094 fixed some part and made a splitted version (if we want to use it since it's possible) 2021-12-14 14:00:47 +01:00
Morippi c45f0b2414 completed the merge method 2021-12-14 13:46:10 +01:00
tom lee 97b2db84cd Quick Patch for GL43+
TODO: Check why GL43+ Vertex Attribute doesn't work
2021-12-14 18:21:40 +08:00
tom lee c389f3b391 Fix merge conflicts 2021-12-14 15:03:31 +08:00
tom lee 6049840aa6 MAJOR Renderer Rewrite
Rewriten almost all stuff in core.render. Changes made:

1. Added LightmapTexture object
2. Moved&Renamed LodShader & LodShaderProgram to be under render/objects/
3. All class under render/objects are actual objects for OpenGL
4. Add LodRenderProgram which is a ShaderProgram + VertexAttribute. If
   we change the method on how we render stuff (Like modifying
   input/output), we should change this file as this is the
   repesentation of the Rendering Program that we are using.
5. Add VertexAttribute, and a GL43+ vesion of it. I implemented both
   versions because the GL43+ will get a noticable speedup due to some
   additions to OpenGL standard. However I still included older version
   for backward compatibilities. To access VertexAttributes, it is
   recommended to access it though the VertexAttribute abstract class's
   method.
6. Rewritten the main renderLod() method. Now it will cache as much
   stuff as possible.
7. To do '6.', now the renderer has a setup() and a cleanup() method,
   both that must be called inside Render Thread. The renderer should
   automatically detects when it needs to call the setup() and
   cleanup(). However, you can expicitly request the renderer to do
   cleanup() on next rendering by calling markForCleanup().
8. ...I think that's all? Don't quite remember tbh. Hopefully I didn't
   miss any points.

Note: This overhaul of the renderer means that THERE WILL BE BUGS. I
can't test all versions on both Nvidia and AMD cards with all OPENGL
versions so please report any bugs to me straight away. Thanks in
advance!

Note 2: I will add more docs in the source code next.
2021-12-14 15:03:03 +08:00
tom lee 2dee6b0326 Add a try/catch and disable Renderer on error
Rendering exceptions usually happens every frame, which cause a lot of
spam. So I added a try/catch and a bool to check if Renderer has
encountered an error, in which the Renderer will be disabled until the
game restarts. (This could probibly be changed)
2021-12-14 14:51:00 +08:00
Morippi 27d9e6aeb7 Added slice in mergeAndAddData 2021-12-13 22:55:29 +01:00
Morippi c751b6fcc6 Added some other comment to the merge 2021-12-13 22:49:58 +01:00
Morippi 31f173c8e8 added the commented code to the mergeAndAddData to make the conversion to new system easier 2021-12-13 22:40:01 +01:00
Morippi 90ca3bd394 Added the position data merge 2021-12-13 22:37:40 +01:00
Morippi 30dd5526cd refactoring for future code 2021-12-13 22:12:13 +01:00
Morippi a9e31b8133 Added methods for the merge in the LevelContainer, to be implemented 2021-12-13 21:03:54 +01:00
Morippi e71cd864b4 Merge remote-tracking branch 'origin/main' into main 2021-12-13 18:59:52 +01:00
Morippi 8efc7d54e7 Changed the format 2021-12-13 18:59:42 +01:00
cola98765 e323e8d62e fixed wrong wrapper call 2021-12-13 18:38:01 +01:00
cola98765 b970ad0ab8 I hope I fixed what james broke 2021-12-13 16:13:43 +01:00
cola98765 c811e6bad6 another change to save format... now there is no static offset 2021-12-13 10:41:33 +01:00
James Seibel 8ef0d40f0c Merge branch 'main' of gitlab.com:jeseibel/distant-horizons-core 2021-12-12 17:42:25 -06:00
James Seibel 227f7d0a23 Closes #85 (Sodium Overdraw incompatibility)
One minor issue: Sodium returns chunks differently than vanilla MC or Optifine. Specifically as of 1.16.5 (12-12-2021) it also returns one layer of chunks further than what is currently rendered.
2021-12-12 17:42:23 -06:00
James Seibel b385b018f1 Remove a few unneeded lines 2021-12-12 17:32:38 -06:00
cola98765 4ece2de991 probable fix to a color bug that made no sense 2021-12-12 23:47:24 +01:00
cola98765 a172961112 probable fix to a color bug that made no sense 2021-12-12 21:26:40 +01:00