Commit graph

2343 commits

Author SHA1 Message Date
PepperCode1
7c757fee80 Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	build.gradle
	gradle.properties
	src/main/java/com/jozufozu/flywheel/core/QuadConverter.java
	src/main/java/com/jozufozu/flywheel/core/crumbling/CrumblingRenderer.java
	src/main/java/com/jozufozu/flywheel/core/vertex/BlockVertexList.java
	src/main/java/com/jozufozu/flywheel/event/ForgeEvents.java
	src/main/java/com/jozufozu/flywheel/mixin/ChunkRebuildHooksMixin.java
	src/main/java/com/jozufozu/flywheel/mixin/InstanceAddMixin.java
	src/main/java/com/jozufozu/flywheel/mixin/LevelRendererMixin.java
2022-11-10 18:05:46 -08:00
PepperCode1
f6d5ed01e7 A bit of backporting
- Backport general changes from 1.19
- Fix Javadoc of PartialModel
- Remove default Model#getType implementation
- Increment version to 0.6.8
- Update Parchment
2022-11-10 16:30:30 -08:00
PepperCode1
e328a270e2 Models are temporary
- Add Model.delete
- Allow BlockModel.createEBO to be called more than once for a single
instance
- Clear cache on QuadConverter.delete
2022-11-10 12:43:26 -08:00
Jozufozu
72a05ad35d State your state
- Address a few bugs with rubidium
 - Ignore EBOs when restoring state
 - ElementBuffer deals in raw gl handles
 - Document all state changes/restores/resets

Co-authored-by: PepperCode1 <44146161+peppercode1@users.noreply.github.com>
2022-11-10 12:39:01 -08:00
PepperCode1
36140623d3 Include new versions in bug report template 2022-09-28 20:05:41 -07:00
PepperCode1
098cb3ee70 Porting from all directions
- Diagonal-port restore state changes from 1.18/next
- Back-port buffer uploader changes and RenderLayerEvent dispatch point
change from 1.19/dev
- Make CrumblingRenderer return earlier if there is nothing to render
- Bump version
2022-09-21 15:34:58 -07:00
Jozufozu
cab7aff9c3 Fresh loaded entities here!
- Remove loaded chunk check from entity instance manager
2022-09-06 08:49:48 -07:00
PepperCode1
832c94f2ba Lazily instantiate DrawBuffers
- Iris/Oculus create wrapper RenderTypes whose DrawBuffers are never
used. Creating the DrawBuffer on retrieval solves this inefficiency.
- Add 1.18.2 as a Minecraft version to the issue template
2022-08-16 10:41:35 -07:00
PepperCode1
70616d381a Fix crash with Rubidium when using batching
- Backport fix from 1.18/next
- Downgrade and lock ForgeGradle version to fix build
- Update Forge to match 1.18/next
- Bump version
2022-08-13 13:54:52 -07:00
PepperCode1
c2b78f8e0e Fix BakedModelBuilder not wrapping models 2022-07-20 08:51:50 -07:00
PepperCode1
7e3671fa9a Wrap vanilla models for shade separation
- Flywheel version of Fabricators-of-Create/Create#441
2022-07-18 10:06:16 -07:00
PepperCode1
473b1af5c6 Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	build.gradle
	gradle.properties
	src/main/java/com/jozufozu/flywheel/Flywheel.java
	src/main/java/com/jozufozu/flywheel/backend/Backend.java
	src/main/java/com/jozufozu/flywheel/backend/instancing/batching/BatchedMaterialGroup.java
	src/main/java/com/jozufozu/flywheel/config/FlwCommands.java
	src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java
	src/main/java/com/jozufozu/flywheel/core/vertex/BlockVertexList.java
	src/main/java/com/jozufozu/flywheel/mixin/FrustumMixin.java
	src/main/resources/META-INF/mods.toml
2022-07-16 21:00:15 -07:00
PepperCode1
418672c065 Final fix-ups
- Revert mods.toml version to ${file.jarVersion}
- Fix license not being added to built jars
- Rename LICENCE.md to LICENSE.md
2022-07-15 19:29:42 -07:00
PepperCode1
17d8688fd7 Fix mixins sometimes not remapping
- Compress logo image
2022-07-15 09:42:14 -07:00
PepperCode1
a42c027b6f Scheme-a-version
- Fix Resources not being closed properly
- Change versioning scheme to match Create
- Add LICENSE to built jar
- Fix mods.toml version sync
- Move JOML code to non-src directory
- Update Gradle
- Organize imports
2022-07-15 00:00:54 -07:00
Jozufozu
0a671b8f43 Update changelog and bug report template 2022-07-11 20:55:01 -04:00
Jozufozu
d9cdd361cd One line update
- Add modrinth updateJSONURL
2022-07-11 14:36:54 -04:00
Jozufozu
f01e169954 Reading copy
- All vertex lists extend from AbstractVertexList, which handles copying the input
2022-07-11 14:08:07 -04:00
Jozufozu
faa5652c4c World building exercise
- Yoink the WorldModelBuilder and associated changes from 1.18/next
2022-07-10 19:04:30 -04:00
Jozufozu
273c99619f Oculus compatibility
- Rename OptifineHandler to ShadersModHandler
 - Rename functions to match fabric version
2022-07-10 18:08:59 -04:00
Jozufozu
c3b1a43beb One more thing...
- Missed a level param in LightVolume
 - Public removeAndMark
 - Remove batching warning
 - Bump forge and parchment builds
2022-07-10 15:22:02 -04:00
Jozufozu
055802160f Update light updates
- ... to address the nullpointer with create pulleys
 - LightListeners track their own levels
 - Remove BasicProvider and LightProvider
 - Rename MovingListener to better match functionality
 - Remove ListenerStatus in favor of a boolean
 - Instances keep track of their removal status and properly report it via LightListener#isListenerInvalid
 - Bump version - 0.6.4
2022-07-09 13:25:24 -04:00
Jozufozu
f058b37b13
Update changelog.txt 2022-07-08 12:37:54 -07:00
PepperCode1
e0aa5dd7ce Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	.github/ISSUE_TEMPLATE/bug_report.yml
	build.gradle
	src/main/java/com/jozufozu/flywheel/Flywheel.java
	src/main/java/com/jozufozu/flywheel/config/FlwCommands.java
	src/main/java/com/jozufozu/flywheel/config/FlwConfig.java
2022-06-30 19:38:14 -07:00
Jozufozu
e26195169f Closing the blinds
- Prevent LightUpdater from interacting with invalid levels.
 - Bump version - 0.6.3
2022-06-22 13:29:28 -07:00
Jozufozu
af11d1e78b 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
9a69ed1906 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
19d757d702 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
e3ceacd6e4 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
eb5d3c4b25 Model allocators are passed on init instead of stored 2022-04-07 13:23:56 -07:00
Jozufozu
ec8b831917 Update changelog, make bug report template loader agnostic 2022-04-06 11:51:59 -07:00
PepperCode1
a6d0dd8a39 Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	gradle.properties
	src/main/java/com/jozufozu/flywheel/Flywheel.java
	src/main/resources/META-INF/mods.toml
2022-03-14 11:22:58 -07:00
PepperCode1
a419eab484 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
3d24002aac Fix display test
- Improve version retrieval
- Fix extra description newline
2022-03-12 14:24:15 -08:00
PepperCode1
f5b15f3dff Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java
	src/main/java/com/jozufozu/flywheel/core/vertex/BlockVertex.java
	src/main/java/com/jozufozu/flywheel/core/vertex/BlockVertexList.java
	src/main/java/com/jozufozu/flywheel/util/RenderMath.java
2022-02-21 15:28:26 -08:00
PepperCode1
0c74be53f6 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
52f66dec9d Move diffuse declaration to vertex compiler 2022-02-14 20:45:13 -08:00
Jozufozu
20a75321e2 Fix occasional crash when flywheel objects are loaded in 2022-02-14 20:36:35 -08:00
PepperCode1
9cc6523368 Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	build.gradle
	src/main/java/com/jozufozu/flywheel/backend/Backend.java
	src/main/java/com/jozufozu/flywheel/backend/OptifineHandler.java
	src/main/java/com/jozufozu/flywheel/backend/instancing/batching/BatchedMaterialGroup.java
	src/main/java/com/jozufozu/flywheel/core/model/ModelTransformer.java
	src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java
	src/main/java/com/jozufozu/flywheel/util/RenderMath.java
2022-02-12 21:38:01 -08:00
Jozufozu
c07c6363f9 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
7515cc74f7 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
f24c1fafba 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
PepperCode1
59c4ac3cb8 Fix and optimize model hacks
- Remove isVanillaAdapter check from CullingBakingModel.wrap
- Optimize model wrapping in ModelUtil.getBufferBuilderFromTemplate
2022-02-06 16:28:33 -08:00
PepperCode1
2b5e71e172 Fix Sodium mixin not being remapped in prod 2022-02-06 12:38:47 -08:00
Jozufozu
ae5853442b Small utility functions 2022-02-06 00:55:49 -08:00
IMS
bbc5cc60bf
Fix Sodium block entity support (#108)
* Fix Sodium block entity support

* Fix production remapping

* Make sodium modCompileOnly

* Finalize Sodium compatibility

- Improve mixin to redirect getting of renderer instead of adding of
block entity
- Move mixins from mixin.sodium to fabric.mixin.sodium
- Remove Joml dependency

Co-authored-by: PepperCode1 <44146161+PepperCode1@users.noreply.github.com>
2022-02-03 19:49:24 -08:00
PepperCode1
e48ecccf32 Improve Iris compatibility
- Use config-based areShadersEnabled when choosing the engine
2022-02-03 17:12:50 -08:00
PepperCode1
8fcc1df383 Merge remote-tracking branch 'origin/1.18/dev' into 1.18/fabric/dev
Conflicts:
	src/main/java/com/jozufozu/flywheel/Flywheel.java
	src/main/java/com/jozufozu/flywheel/FlywheelClient.java
	src/main/java/com/jozufozu/flywheel/backend/Backend.java
	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/FlwCommands.java
	src/main/java/com/jozufozu/flywheel/config/FlwConfig.java
	src/main/java/com/jozufozu/flywheel/event/ForgeEvents.java
2022-02-01 21:32:31 -08:00
PepperCode1
1d0e0eb6bc 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
9219fef20a 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