Jozufozu
a90e6a1f56
Quick fix for create's contraptions
2021-12-07 22:45:10 -08:00
Jozufozu
fd0343c48b
Merge branch '1.17/dev' into 1.18/dev
2021-12-07 21:29:38 -08:00
Jozufozu
f7c45e5486
Get started on a batching engine
...
- An Engine is a MaterialManager and a RenderDispatcher
- Refactor InstanceManager's ctor to use the MaterialManager interface instead of the concrete type
- MaterialManagerImpl -> InstancingEngine
- Add skeleton for BatchingEngine
- Hack in InstanceWorld to switch between the 2
- Rename/move existing MaterialManager impl to new package
2021-12-06 23:36:14 -08:00
Jozufozu
ca459dd2ca
Update to 1.18
2021-12-06 21:29:21 -08:00
Jozufozu
7813eedf61
Miscellaneous gl changes while debugging
...
- Only unbind at the end of MaterialManagerImpl#render
- Add GlBufferType#bind and #unbind
- Make GlVertexArray#unbind static
2021-12-06 21:11:51 -08:00
Jozufozu
e08633af3c
Do a 180
...
- Fix inconsistency in minecart model
2021-12-06 17:19:21 -08:00
Jozufozu
b9352bc3a4
Vanillaization
...
- IModels now accept a VertexConsumer
- IRenderState -> RenderType
- AbstractInstancer for dealing with InstanceData tidyness
- Alter crumbling renderer to match new system
- Add hack to keep track of bound atlas textures
2021-12-06 15:23:26 -08:00
Jozufozu
c54514cf47
No more InstanceData#write
2021-12-02 20:13:55 -08:00
Jozufozu
4677893690
Yeet json extensions that idea doesn't make sense
...
- Was only ever used for fog
- Was the same for every material
- Made things unnecessarily complex
- Fix fog
- Convert ProgramState to record
2021-12-02 17:40:23 -08:00
Jozufozu
4ee6a8c9aa
Shadows causing trouble? No more shadows
2021-11-27 11:30:38 -08:00
PepperBell
fbc5836afb
Improve StitchedSprite functionality
...
- Make StitchedSprite work like PartialModel
- Allow StitchedSprite instances to be created directly
- Allow StitchSprites to be created for any atlas
- Use texture stitch post event instead of lazy computation for filling
StitchedSprites
- Remove legacy method from AngleHelper
- Change artifact name from flywheel to flywheel-forge
- Organize imports
2021-11-24 18:43:05 -08:00
Jozufozu
881ce3639d
Merge remote-tracking branch 'origin/1.16/dev' into 1.17/dev
...
# Conflicts:
# changelog.txt
# gradle.properties
# src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedRenderDispatcher.java
# src/main/java/com/jozufozu/flywheel/config/BooleanConfig.java
# src/main/java/com/jozufozu/flywheel/config/SConfigureBooleanPacket.java
# src/main/java/com/jozufozu/flywheel/event/ForgeEvents.java
# src/main/java/com/jozufozu/flywheel/mixin/RenderHooksMixin.java
# src/main/java/com/jozufozu/flywheel/util/WorldAttached.java
# src/main/resources/flywheel.mixins.json
2021-11-23 16:49:39 -08:00
Jozufozu
e8f5e4a6c1
Implement TransformStack directly on PoseStack
...
- Add helper method to cast to the interface.
2021-11-23 15:07:31 -08:00
Jozufozu
0d2907e187
Split TransformStack interface
...
- Now individual components Translate Rotate and Scale
- Internal change to ModelData, store matrices directly
- Implement Translate Rotate and Scale for ModelData
- Implement Translate and Rotate for OrientedData
- Clean usages of ModelData to use new api when possible
- WriteSafe and WriteUnsafe for matrices
2021-11-22 18:05:53 -08:00
PepperBell
f14aca4517
Server crash fix and formatting
...
- Fix matrix mixins being applied on dedicated server
- Expand PartialModel functionality: add location getter and model
setter
- Remove Loader.getResourceType since selective reloading is deprecated
- Organize imports and mixin order
- Other formatting
- Update Gradle and Forge
2021-11-18 14:59:39 -08:00
Jozufozu
94e83a10d1
TextureBinder for dealing with vanilla RenderTypes
2021-11-09 16:48:54 -08:00
Jozufozu
af98782a89
Instance init
...
- So that simi can have his cogs.
- Inheritance is painful when models are acquired in an instance's ctor
2021-11-09 15:03:52 -08:00
Jozufozu
fe62302d25
Chipping away at light
2021-11-09 14:59:31 -08:00
Jozufozu
1d4bb972b9
Named models
2021-11-08 20:48:02 -08:00
Jozufozu
097ecb062e
Invalidate regardless
2021-11-05 16:47:27 -07:00
Jozufozu
e9404d6de3
Revert "Weak hash map in world attached"
...
This reverts commit 98a3f759b3
.
2021-11-05 16:45:39 -07:00
Jozufozu
98a3f759b3
Weak hash map in world attached
...
- More robust solution that listening to WorldEvent.Unload
2021-10-31 19:54:12 -07:00
Jozufozu
d2b5b1096b
Fix world leak
2021-10-31 19:50:01 -07:00
Jozufozu
46ebdfd43b
Remove chunk provider mixin and refactor config packets
2021-10-31 17:24:57 -07:00
Jozufozu
0bbfb60d0c
Compat work
...
- No more net.minecraftforge.common.util usages
- Replace forge lazy with flywheel lazy
- Replace forge NonNullSupplier with flywheel NonNullSupplier
- texture2D -> texture
2021-10-12 12:52:02 -07:00
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
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
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
Jozufozu
ee7f6fd5e2
fixup! Initial data/struct format refactor
2021-09-14 13:52:52 -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