Commit graph

2332 commits

Author SHA1 Message Date
Jozufozu
762e526a27 Revert "Rename/refactor many interfaces"
This reverts commit 66aa987dbd.

Can re-think the names later.
2021-09-30 13:43:09 -07:00
Jozufozu
66aa987dbd Rename/refactor many interfaces
- Drop I prefix
 - Inline IMultiProgram
 - Remove unused method in InstanceRendered
2021-09-28 17:54:47 -07:00
Jozufozu
fe700b8be5 Better Block Entity filtering
- Assumes IInstanceRendered#shouldRenderNormally does not change over a BE's life
2021-09-26 22:30:11 -07:00
Jozufozu
57b67cddcf Testing + fixing 2021-09-26 21:15:02 -07:00
Jozufozu
ef48504caa UNTESTED - Replace ATs
- Matrices use #store
 - Accessor for pausedPartialTick
2021-09-26 19:40:53 -07:00
Jozufozu
0663218b67 GL32 shaders and errors
- Update shaders to glsl 150
 - Objectfy errors
2021-09-20 19:27:04 -07:00
Jozufozu
5ce960c5d5 MDK println build test 2021-09-18 17:01:20 -07:00
Jozufozu
5c5f48ba4a Small things
- Fix minecarts rendering really far away
 - InstanceManager#getInstance now has one job
 - Instance creation moved to InstanceManager#addInternal
 - TransformStack#translateBack for Vec3i
2021-09-17 15:59:20 -07:00
Jozufozu
5044308c68 F3+A
- Reloading chunks correctly reloads block entity instances
2021-09-17 14:20:35 -07:00
Jozufozu
652d1d3104 Always use discard 2021-09-16 20:53:35 -07:00
Jozufozu
d53c9b0a32 It renders stuff
- The lightmap moved
 - Begin to move away from access transformers
 - .textureManager -> .getTextureManager()
 - RIP cutout, saw that coming
2021-09-16 20:03:45 -07:00
Jozufozu
5784cb975d Nuke changelog and bump version 2021-09-15 14:46:36 -07:00
Jozufozu
8407fed299 Don't crash when block entities are placed
- Block entities got a huge refactor in 1.17, a lot of the old code needs to be rethought
2021-09-15 14:29:58 -07:00
Jozufozu
40034daa64 Minecraft already stores the projection matrix
mixins--
2021-09-15 14:27:51 -07:00
Jozufozu
a930bc97cc It launches
- yeet the fog
 - update mixin compatibility level
2021-09-15 13:49:18 -07:00
137de259e5 Fix obvious errors 2021-09-15 09:26:51 +02:00
2ae580259c Remap, update forge, minecraft and java 2021-09-15 09:14:30 +02:00
6fd544837c update gradle and mixin 2021-09-15 08:33:12 +02:00
Jozufozu
ee7f6fd5e2 fixup! Initial data/struct format refactor 2021-09-14 13:52:52 -07:00
Jozufozu
a3c92cdf58 Bump version 2021-09-14 13:36:06 -07:00
Jozufozu
613c933206 Revert "Parallel light updates"
Caused a crash, likely related to the use of weak references

This reverts commit c68b2bbf91.
2021-09-14 13:19:52 -07:00
Jozufozu
261b901e80 LightPacking utility class 2021-09-14 13:17:13 -07:00
Jozufozu
fbcc1f0a10 Initial data/struct format refactor
- Inspired by jellysquid3's vertex sinks
 - More robust/extensible solution for data writes
2021-09-12 14:49:00 -07:00
Jozufozu
c68b2bbf91 Parallel light updates 2021-09-12 10:29:29 -07:00
Jozufozu
075719e75c Optimize imports 2021-09-12 09:41:45 -07:00
Jozufozu
b75dcb2209 Instancer interface
- Entire material/model system finally cleaned up
2021-09-12 09:40:36 -07:00
Jozufozu
3ef6a163f0 Fix compat with optifine shaders, again 2021-09-09 15:30:50 -07:00
Jozufozu
a6377b5fe8 Fix BeginFrameEvent not firing with sodium installed
- Rendering is still broken, that fix must come from within sodium
2021-09-09 14:07:35 -07:00
Jozufozu
99259ff227 Separate LightVolume and GPULightVolume
- LightVolumes now can act as a light cache with configurable size
 - More GridAlignedBB changes
 - Remove ILightUpdateListeners
 - Simplify pulley rendering using LightVolume
2021-09-08 15:48:49 -07:00
Jozufozu
dc6a9daeb1 Immutable view of GridAlignedBB 2021-09-04 19:57:32 -07:00
Jozufozu
fe304041c5 Moving light updates
- Better system for moving objects that want to receive light updates
 - LightProvider interface to better abstract light lookups
 - All light listeners use GridAlignedBBs
 - More utility in GridAlignedBB
2021-09-04 16:40:40 -07:00
Jozufozu
7ca4ea5c3e Light update convergence
- Move light update logic for all instances to use LightUpdater
 - Begin refactor of LightUpdater to account for moving listeners
2021-08-29 14:40:46 -07:00
Jozufozu
cb10e4e7d1 Merge branch 'dev' into next 2021-08-25 13:21:42 -07:00
Jozufozu
0eafe8f453
Merge pull request #36 from MehVahdJukaar/dev
Adds 3 parameter scaling function to MatrixTransformStack
2021-08-25 13:20:42 -07:00
Jozufozu
f0f423ca0d Restore single paramater scale function
- Now has default impl in TransformStack
 - MatrixTransformStack now only overrides xyz scale
2021-08-25 13:15:29 -07:00
Jozufozu
98b61b884c Instanced Minecarts
- Rotations in PartBuilder
 - BlockModels are always UNLIT_MODEL format
2021-08-25 12:53:43 -07:00
MehVahdJukaar
d9c631cfe7
Update TransformStack.java 2021-08-25 21:49:06 +02:00
MehVahdJukaar
b0625ef13e
Update MatrixTransformStack.java 2021-08-25 21:40:35 +02:00
MehVahdJukaar
399fb2a81b
Merge pull request #1 from MehVahdJukaar/MehVahdJukaar-patch-1
Add 3 parameter MatrixTransformStack scaling function
2021-08-25 20:23:58 +02:00
MehVahdJukaar
4fbb808832
Added 3 parameter scaling function
Simply adds a 3 parameter function to to MatrixTransformStack so a matrix can be scaled on different axis
2021-08-25 20:21:33 +02:00
Jozufozu
7cb81256a1 Interfaces and less log lines
- MateralManager, MaterialGroup, and InstanceMaterial are all interfaces
 - Separate (T)EI facing API from implementation
 - Comment out debug log in ModelPool
2021-08-23 22:34:27 -07:00
Jozufozu
2137f9e46d Errors and pools
- GlException and error checking WIP
 - Put all models within a material in a ModelPool
 - Instancers directly accept IModels
 - ModelPools are very WIP
2021-08-20 15:05:41 -07:00
Jozufozu
f4f6087e08 Storage clean-up
- Wrapper for sync objects
 - Compat layer for buffer storage
 - Don't get persistent buffers if they're not supported
2021-08-14 15:57:52 -07:00
Jozufozu
b9ac4f1fdc Persistent buffers v1.5
- Add new sync function to GlBuffer
2021-08-14 13:33:17 -07:00
Jozufozu
2ab0e221ce Merge branch 'dev' into shader-pipeline 2021-08-13 16:15:28 -07:00
Jozufozu
f0fc3fffb9 Persistent buffers v1 2021-08-13 16:15:20 -07:00
Jozufozu
b85bf14ad9 Better float array buffering 2021-08-13 13:35:18 -07:00
Jozufozu
11f55d1d56 Random utilities from a messy workspace
- More documentation/clean up some old docs
 - isFirstLoad check on GatherContextEvent
 - Instancers no longer crash on empty model
 - setIdentity on MatrixTransformStack
 - more utilities for TransformStack
 - ModelData "nullification"
2021-08-13 11:23:09 -07:00
Jozufozu
4817ce3fe1 Final loader and temporary ShaderSources 2021-08-10 17:39:11 -07:00
Jozufozu
947c611bbc Some decoupling
- New Loader class in charge of loading and compiling everything
 - ShaderSources now only loads sources
 - ShaderSources is immutable now
 - Resolver singleton in charge of managing name resolutions
 - ProgramSpecs go through Resolver
 - WorldShaderPipeline no longer needs reference to ShaderSources
2021-08-10 15:20:51 -07:00