PepperBell
6fede0851e
Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
...
Conflicts:
README.md
build.gradle
gradle.properties
src/main/java/com/jozufozu/flywheel/backend/RenderWork.java
src/main/java/com/jozufozu/flywheel/backend/material/MaterialManagerImpl.java
src/main/java/com/jozufozu/flywheel/config/BooleanConfigCommand.java
src/main/java/com/jozufozu/flywheel/config/FlwCommands.java
src/main/java/com/jozufozu/flywheel/config/FlwPackets.java
src/main/java/com/jozufozu/flywheel/config/SConfigureBooleanPacket.java
src/main/java/com/jozufozu/flywheel/core/PartialModel.java
src/main/java/com/jozufozu/flywheel/core/StitchedSprite.java
src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java
src/main/java/com/jozufozu/flywheel/event/ForgeEvents.java
src/main/java/com/jozufozu/flywheel/event/RenderLayerEvent.java
src/main/java/com/jozufozu/flywheel/mixin/LeakChunkStorageArrayMixin.java
src/main/java/com/jozufozu/flywheel/mixin/RenderHooksMixin.java
src/main/java/com/jozufozu/flywheel/util/ChunkIter.java
src/main/resources/META-INF/mods.toml
src/main/resources/flywheel.mixins.json
2021-12-12 17:29:09 -08:00
Jozufozu
a3ee39099a
Use GL_ARB_conservative_depth when possible
...
- Allows the depth test to discard fragments before the fragment shader is run
2021-12-11 22:03:52 -08:00
Jozufozu
46745ae91d
Bump version - 0.4.1
2021-12-11 17:32:39 -08:00
Jozufozu
11e5719e0d
Cylindrical fog
...
- having the world position is very nice
- mojang manages to do multiple matrix multiplications
2021-12-11 17:31:09 -08:00
Jozufozu
3cfbc97dd1
Add issue template
...
- Read: copy issue template from Create
- Thanks, caelwarner!
2021-12-11 15:43:11 -08:00
Jozufozu
ebfeff0b54
Fix misaligned contraption light
...
- That was a pain to debug
- Idk how that ever worked
2021-12-11 15:06:07 -08:00
Jozufozu
79e61b44e5
1.18.1
2021-12-11 14:18:43 -08:00
Jozufozu
2207da5eed
Implemented
2021-12-10 14:50:01 -08:00
Jozufozu
21a23d650f
Mapped buffer sanity
...
- MappedBuffer no longer abstract
- Mappable interface used within MappedBuffer
- MappedBuffer is mapped before ctor
- No more subclasses, no more thin wrapping overrides
- Use try with resources for buffer mapping
- Better error handling with mapped buffers
- Unimplemented exception as a procrastination method
2021-12-10 14:45:18 -08:00
Jozufozu
fd8d436640
Worlds are bigger now pt 2
...
- Stop clamping Y in [0, 256)
2021-12-10 12:31:57 -08:00
Jozufozu
931fffb5f1
Worlds are bigger now
...
- Stop clamping Y in [0, 256)
2021-12-10 00:28:32 -08:00
Jozufozu
99e15cbcd9
Debugging changes
...
- MapBufferRange compat layer not needed, missed that
- Don't need MappedFullBuffer anymore
- Add guard for size in GPULightVolume#bind
- LightVolume#getStride not needed
- Replace usaged of GlError#poll with #pollAndThrow
- VecBufferConsumer doesn't need a format
2021-12-10 00:07:52 -08:00
Jozufozu
0d388b0094
Update changelog
2021-12-09 18:51:09 -08:00
Jozufozu
b892f602cb
Whoops remove imports
2021-12-09 16:40:01 -08:00
Jozufozu
5374baf241
No more material spec, everything is StructType
2021-12-09 16:34:32 -08:00
Jozufozu
eee9b3fb51
Move api package
2021-12-09 15:27:56 -08:00
Jozufozu
da55941e4f
Add RecordingVertexConsumer
...
- Very basic and untested
2021-12-09 15:19:48 -08:00
Jozufozu
7b3bab6647
Reorganize, rename, refactor, 0.4.0
...
- Move most user facing interfaces to flywheel.api package
- Refactor InstanceData to have no package private classes
- Remove 'I' prefix from many interfaces
- ILightUpdateListener -> LightListener
- IMultiProgram -> ContextAwareProgram
- IFlatLight -> FlatLit
- All materials use the same vertex format: UNLIT_MODEL
2021-12-09 00:42:27 -08:00
Jozufozu
47b110c48c
Fix shulker box rendering
2021-12-08 12:48:18 -08:00
Jozufozu
9fe0bae2ad
#tick and #beginFrame on creation
...
- Fixes weird delay in object appearance when reloading chunks
2021-12-08 12:28:22 -08:00
Jozufozu
aaaccc47ee
Add instances when chunks are built for rendering
...
- RIP ChunkIter, may you rule over the depths of hell in peace
- Fix memory leak when instance worlds get reset
- Server worlds are not flywheel worlds
- Nothing to do on world load anymore
2021-12-08 12:16:01 -08:00
Jozufozu
b4fe00a314
Fix potential nullpointer rendering breaking overlay
...
- Should backport for #52
2021-12-07 23:53:13 -08:00
Jozufozu
ef5de609a2
Groups store their types again
...
- Fix crash rendering breaking overlay
2021-12-07 23:40:45 -08:00
Jozufozu
a70adc8bba
Update README.md
2021-12-07 23:03:35 -08:00
Jozufozu
36f32ececc
VAO state clearing handled in InstancingEngine#render
2021-12-07 23:00:32 -08:00
Jozufozu
97949ab1da
Cull legacy compat boilerplate
...
- Minecraft is on GL32 now!
2021-12-07 22:47:05 -08:00
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
PepperBell
621ce2b43c
Merge remote-tracking branch 'origin/1.17/dev' into 1.17/fabric/dev
...
Conflicts:
src/main/java/com/jozufozu/flywheel/Flywheel.java
src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java
src/main/resources/flywheel.mixins.json
2021-12-06 17:22:55 -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
PepperBell
e7ef9291c7
Merge remote-tracking branch 'origin/1.17/dev' into 1.17/fabric/dev
...
Conflicts:
build.gradle
gradle.properties
2021-12-05 18:42:30 -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
d4a8043534
Fix weird intellij issues with mixin's annotation processor
...
- Update forge/mixin version
2021-12-02 14:03:14 -08:00
PepperBell
4f19fdddde
Merge remote-tracking branch 'origin/1.17/dev' into 1.17/fabric/dev
...
Conflicts:
settings.gradle
2021-11-27 12:02:21 -08:00
Jozufozu
b11da57834
Change project name, update ci badge
2021-11-27 11:33:29 -08:00
Jozufozu
4ee6a8c9aa
Shadows causing trouble? No more shadows
2021-11-27 11:30:38 -08:00
PepperBell
7a4d875061
Merge remote-tracking branch 'origin/1.17/dev' into 1.17/fabric/dev
...
Conflicts:
gradle.properties
src/main/java/com/jozufozu/flywheel/FlywheelClient.java
src/main/java/com/jozufozu/flywheel/config/BooleanConfig.java
src/main/java/com/jozufozu/flywheel/config/BooleanDirective.java
src/main/java/com/jozufozu/flywheel/config/FlwCommands.java
src/main/java/com/jozufozu/flywheel/config/FlwConfig.java
src/main/java/com/jozufozu/flywheel/config/SConfigureBooleanPacket.java
src/main/java/com/jozufozu/flywheel/core/AtlasStitcher.java
src/main/resources/flywheel.mixins.json
2021-11-24 20:53:22 -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
b725f2e53e
Bump version - 0.2.5
2021-11-23 16:05:20 -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
dbe46a6f28
Merge remote-tracking branch 'origin/1.17/dev' into 1.17/fabric/dev
...
Conflicts:
build.gradle
gradle.properties
src/main/java/com/jozufozu/flywheel/backend/Loader.java
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/core/AtlasStitcher.java
src/main/java/com/jozufozu/flywheel/core/PartialModel.java
src/main/java/com/jozufozu/flywheel/core/crumbling/CrumblingRenderer.java
src/main/java/com/jozufozu/flywheel/core/model/BakedModelModel.java
src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java
src/main/java/com/jozufozu/flywheel/event/BeginFrameEvent.java
src/main/java/com/jozufozu/flywheel/event/RenderLayerEvent.java
src/main/java/com/jozufozu/flywheel/mixin/FixFabulousDepthMixin.java
src/main/java/com/jozufozu/flywheel/mixin/RenderHooksMixin.java
src/main/java/com/jozufozu/flywheel/util/BakedQuadWrapper.java
src/main/java/com/jozufozu/flywheel/util/BufferBuilderReader.java
src/main/resources/flywheel.mixins.json
src/main/resources/pack.mcmeta
2021-11-20 09:54:22 -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