Jozufozu
d47945ea6c
Update changelog.txt
2022-07-08 12:37:54 -07:00
Jozufozu
0178a438c1
Closing the blinds
...
- Prevent LightUpdater from interacting with invalid levels.
- Bump version - 0.6.3
2022-06-22 13:29:28 -07:00
Jozufozu
e762d69d0b
Fix spooky shaded contraptions
...
- Logic error in GPULightVolume#move
- Race condition from LightUpdater showing up in LightVolume#initialize
2022-04-08 17:23:02 -07:00
Jozufozu
a8de91d541
Layoff some workers
...
- Only one task engine for everything now
- Fixes crash on LightUpdater init when Flywheel is off
- Attempt to wrangle InstanceWorld init code
- Misc. cleanup/renaming
2022-04-07 14:19:36 -07:00
Jozufozu
0c53a55104
Moving in parallel
...
- LightUpdates now uses task engine to update listeners in parallel
- Basic workgroup system to run something on the main thread after a group of tasks is complete
2022-04-07 13:23:56 -07:00
Jozufozu
35f513a2a0
Contraptions were too lit
...
- Fix bug causing potentially moving contraptions to re-upload their light every tick
- Reduces tick stutter with large amounts of contraptions
2022-04-07 13:23:56 -07:00
Jozufozu
c2be6a0faa
Model allocators are passed on init instead of stored
2022-04-07 13:23:56 -07:00
Jozufozu
cfaf1632de
Update changelog, make bug report template loader agnostic
2022-04-06 11:51:59 -07:00
PepperCode1
74f9e1f9a3
Update to 1.18.2
...
- Switch to SLF4J logging
- Bump version
- Add 0.6.1 changelog
2022-03-14 10:52:28 -07:00
PepperCode1
4097f7e0a4
Fix display test
...
- Improve version retrieval
- Fix extra description newline
2022-03-12 14:24:15 -08:00
PepperCode1
67b4e655de
Add partial support for non-shaded quads
...
- Add ShadeSeparatedBufferBuilder and other code to allow separating all
non-shaded vertices to the end of the buffer
- Add ShadedVertexList to allow defining if a certain vertex is shaded
or not
- Add new methods to ModelUtil with arguments for more flexibility
- Refactor VirtualEmptyBlockGetter to allow defining arbitrary light
values
- Add shaded argument to DiffuseLightCalculator
2022-02-18 20:39:19 -08:00
Jozufozu
08b331fe18
Move diffuse declaration to vertex compiler
2022-02-14 20:45:13 -08:00
Jozufozu
f7b8aedb95
Fix occasional crash when flywheel objects are loaded in
2022-02-14 20:36:35 -08:00
Jozufozu
a4d3f17fb3
Resolve redirect conflict and add more optifine hacks
...
- Fix entitiesForRendering redirect to be compatible with carpet.
- Use more reflection for dealing with optifine
- Fixes issue where flywheel would still be on immediately after enabling optifine shaders
2022-02-10 21:26:56 -08:00
PepperCode1
e1af5b2533
Remove force diffuse
...
- The batching engine may run in parallel, meaning the force diffuse
state will not be read correctly
- ModelTransformers only process vertices that will be rendered in the
world
- Add 0.6.1 to the issue template
2022-02-08 21:37:09 -08:00
PepperCode1
aa08ef1430
Add, refactor, remove
...
- Add DiffuseLightCalculator
- Add ModelUtil.VANILLA_RENDERER for consistent virtual rendering
- Refactor OptifineHandler
- Remove MatrixTransformStack
2022-02-08 19:26:36 -08:00
Jozufozu
bca5383e5a
Small utility functions
2022-02-06 00:55:49 -08:00
PepperCode1
d3cffaf495
Compress config command code
...
- Remove BooleanConfig, BooleanConfigCommand, and BooleanDirective
- Make Flywheel.VERSION private so it cannot be changed
- Move createUpdateLimiter from FlwConfig to InstanceManager
2022-02-01 20:44:53 -08:00
Jozufozu
06d2325a7a
Toggleable update limiting
...
- Extract update limiting behavior to interface
- Move original impl to BandedPrimeLimiter
- Add dummy NonLimiter impl
- Add command/config to toggle update limiting
- Refactor InstanceManager to be more consistent between frame updates and tick updates
- Bump version - 0.6.1
2022-02-01 13:56:08 -08:00
Jozufozu
5d8a0e8e44
Pepper's catches
...
- GlCompat now a singleton, doesn't need to be re-created
- Fix crash with F3 open and backend off
- Clear program spec map before loading
- Merge FlywheelClient and Flywheel classes
2022-02-01 12:46:47 -08:00
Jozufozu
5fbca293ef
Un-remove getBackendDescriptor
...
- No point in incorrectly inlining it
- One useage was replaced by InstancedRenderDispatcher#getDebugString
2022-01-31 13:26:55 -08:00
Jozufozu
54a5dd7e06
Add more debug info
...
- Flywheel version
- Vertex/Instance count
- Origin coordinate for Instancing Engine
2022-01-31 13:14:30 -08:00
Jozufozu
4442759c57
Add 0.6.0 to bug report template
2022-01-25 18:01:36 -08:00
Jozufozu
5f675b1566
Create FUNDING.yml
2022-01-25 10:13:24 -08:00
Jozufozu
831c9b9e47
Update changelog and document Translate#nudge
2022-01-25 10:12:08 -08:00
Jozufozu
e6368b291f
Initial move to client commands.
...
- Nothing fancy, just inlining packets.
2022-01-24 10:46:17 -08:00
Jozufozu
231e79984a
Add accessor to BlockEntityRenderer map.
2022-01-18 13:44:28 -08:00
Jozufozu
365a15b308
Bump version - 0.6.0
2022-01-17 18:26:28 -08:00
Jozufozu
60b0c7a94a
Merge branch '1.18/shader-sanity' into 1.18/dev
2022-01-17 16:56:39 -08:00
Jozufozu
c37158efd6
A fix and a refactor
...
- ModelPools no longer undbind their buffer during construction, as state should be maintained externally
- Call BufferUploader#reset at the end of renderChunkLayer to partially fix crash rendering contraptions
- Remove Engine#getName, it was replaced by FlwEngine
2022-01-17 16:19:18 -08:00
Jozufozu
c4d6ec706e
Handle arbitrary numbers of GameStateProviders
...
- Use bitset instead of long.
- We only ever iterate over the GameStateProviders, so use a list instead of a map.
- GameStateProviders don't need IDs.
2022-01-13 15:58:51 -08:00
Jozufozu
29d4ec03c2
Reorganize and simplify
...
- StructTypes no longer need to be registered
- Move backend.source to core.source
- Move GameStateRegistry to core
- Backend is static again
- Loader maintains state internally
2022-01-12 21:25:03 -08:00
Jozufozu
2854e1f1dc
Better memoized shader compilation and global game state
...
- Properly separate compilation of vertex and fragment shaders
- Game state is no longer per-program
- Needs organization
2022-01-12 00:19:37 -08:00
Jozufozu
c4f07db75f
More organized shader compilation
2022-01-11 13:17:55 -08:00
Jozufozu
139c95ebc1
Sodium compatibility
2022-01-10 15:08:02 -08:00
Jozufozu
0785587960
Separate vertex and fragment shaders and templates
2022-01-10 14:38:26 -08:00
Jozufozu
0b84bec4e1
Merge branch '1.18/dev' into 1.18/shader-sanity
...
# Conflicts:
# src/main/java/com/jozufozu/flywheel/backend/instancing/instancing/InstancingEngine.java
2022-01-09 22:35:42 -08:00
Jozufozu
5f5b4e5fba
Update changelog
2022-01-08 17:42:32 -08:00
Jozufozu
68febaec2e
Conditional state restore and BufferUploader sanity check
...
- Only restore state that has changed
- Sanity check to fix error condition on reset
2022-01-08 16:48:42 -08:00
Jozufozu
38244deb51
GlStateTracker for better state restore
...
- Replaces both ShaderInstanceAccessor and BufferUploaderAccessor
2022-01-08 14:51:55 -08:00
Jozufozu
72dc4cb378
Almost sane shaders
...
- No more ShaderContext. Programs are directly retrieved through ProgramCompilers.
- Templates don't need generics
- Remove ExtensibleGlProgram
2022-01-07 22:46:29 -08:00
Jozufozu
44d640fc47
Fix crash rendering biome-tinted blocks on contraptions
...
- Biome colors now line up with the world
2022-01-07 14:18:59 -08:00
Jozufozu
0b334afaca
Flatten core.shader and fix residual merge conflicts
2022-01-07 12:01:03 -08:00
Jozufozu
03c5a41cac
Merge branch '1.18/dev' into 1.18/shader-sanity
...
# Conflicts:
# src/main/java/com/jozufozu/flywheel/backend/source/FileResolution.java
# src/main/java/com/jozufozu/flywheel/core/shader/GameStateProgram.java
# src/main/java/com/jozufozu/flywheel/core/shader/gamestate/NormalDebugStateProvider.java
# src/main/java/com/jozufozu/flywheel/core/shader/spec/BooleanGameStateCondition.java
# src/main/java/com/jozufozu/flywheel/core/shader/spec/GameStateCondition.java
# src/main/java/com/jozufozu/flywheel/core/shader/spec/ProgramState.java
# src/main/java/com/jozufozu/flywheel/core/shader/spec/SpecificValueCondition.java
2022-01-07 11:52:42 -08:00
Jozufozu
d1ee71de4e
Reduce merge conflicts with shader-sanity
2022-01-07 11:50:01 -08:00
Jozufozu
c0ddc860d9
RenderLayers directly store DrawBuffers
...
- Inspired by pepper's BlockEntityTypeExtensions
- Document the batching engine internals.
2022-01-06 15:25:00 -08:00
Jozufozu
eef3c7fc1c
Fix visual artifacts with contraptions while using opfine.
...
I think the buffers from the shadow pass were bleeding into the color pass.
2022-01-06 13:04:16 -08:00
Jozufozu
f6b49fb324
Better state restore in InstancingEngine
...
- Attempt to fix optifine issues
- Replace <code> with {@code}
2022-01-06 13:04:16 -08:00
PepperCode1
3d90c084c1
Add 0.5.0a and 0.5.1 to issue template
2022-01-04 21:50:10 -08:00
Jozufozu
369157c989
Document, annotate, and rename
...
- Add documentation for new InstancedRenderRegistry
- Annotate TypeExtensions with Nullable
- Add method for creating bulk instances
2022-01-04 14:14:30 -08:00