Commit graph

2348 commits

Author SHA1 Message Date
PepperCode1
4eb36f77f7 Bump version and remove unnecessary code after fence fix 2024-09-01 17:21:26 -07:00
Jozufozu
e320a7144e Please don't take a fence
- Strip out persistent buffer and GlFence code
2024-08-23 23:46:10 -07:00
PepperCode1
752652b3d4 Remove RenderChunkExtension 2023-08-23 15:06:33 -07:00
PepperCode1
62c8c43a34 Merge branch '1.18/dev' into 1.19/dev 2023-08-23 15:04:41 -07:00
PepperCode1
1031a8e71e Fix incorrect mixin plugin name 2023-08-23 15:04:24 -07:00
PepperCode1
23860ad857 Merge branch '1.18/dev' into 1.19/dev
Conflicts:
	build.gradle
	gradle.properties
	src/main/java/com/jozufozu/flywheel/core/virtual/VirtualChunk.java
	src/main/java/com/jozufozu/flywheel/core/virtual/VirtualRenderWorld.java
	src/main/java/com/jozufozu/flywheel/mixin/instancemanage/ChunkRebuildHooksMixin.java
	src/main/resources/flywheel.mixins.json
2023-08-23 11:50:49 -07:00
PepperCode1
4c94abc2e8 Update light mixins
ClientboundLevelChunkWithLightPacket now also causes the LightUpdater to
notify its listeners
2023-08-23 11:06:34 -07:00
PepperCode1
ecc3c2d925 Add Rubidium compatibility on our side
- Move FixNormalScalingMixin from Create
- Extract some of LevelRendererMixin into InstanceUpdateMixin
2023-08-23 10:03:57 -07:00
PepperCode1
01f204eb0a Update issue template 2023-08-21 13:22:17 -07:00
PepperCode1
6709870456 Improve and fix VirtualRenderWorld
- Fix calling VirtualRenderWorld#getExistingBlockEntity causing a crash
- Bump version
2023-08-21 13:17:47 -07:00
PepperCode1
833edce4e5 Fix license badge link 2023-07-07 14:01:01 -06:00
PepperCode1
a970e422c1 Update README and issue template
- Add license and Modrinth badges to README
- Update buildscript dependency example and Maven link in README
- Add 0.6.9 and 1.20.1 to issue template
2023-07-07 13:51:10 -06:00
PepperCode1
7105c3914c Impossible leaks 2023-07-03 16:27:25 -07:00
PepperCode1
af3d9f7425 Merge branch '1.18/dev' into 1.19/dev
Conflicts:
	src/main/java/com/jozufozu/flywheel/core/model/BakedModelBuilder.java
	src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java
	src/main/java/com/jozufozu/flywheel/core/model/Bufferable.java
	src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java
	src/main/java/com/jozufozu/flywheel/core/model/WorldModelBuilder.java
	src/main/java/com/jozufozu/flywheel/core/vertex/BlockVertex.java
2023-07-03 14:59:58 -07:00
PepperCode1
e79f6bcbf6 Fix poor design choices resulting in memory leaks
- Add ShadeSeparatedBufferedData which is returned by buffering
utilities and can be released
- Remove ShadeSeparatedBufferBuilder and add ModelUtil#endAndCombine
- Add VertexList#delete
- Replace all usage of MemoryTracker with MemoryUtil
- Add FlwUtil#copyBuffer
- Turn most BlockModel constructors into static methods
- Add BakedModelBuilder#toModel
2023-07-03 13:19:37 -07:00
PepperCode1
0f4ebe1465 Fix memory leaks 2023-06-26 19:25:53 -07:00
PepperCode1
5ae96be11a Merge branch '1.18/dev' into 1.19/dev
Conflicts:
	build.gradle
	gradle.properties
2023-06-26 19:08:11 -07:00
PepperCode1
873facfd34 Fix crumbling
- Use vanilla's approach of determining crumbling UVs from vertex
positions instead of scaling existing UVs
- Bump version
- Update buildscript and Gradle
2023-06-26 18:55:00 -07:00
PepperCode1
0e198ab8c7 Merge branch '1.18/dev' into 1.19/dev
Conflicts:
	gradle.properties
2023-01-13 16:09:34 -08:00
PepperCode1
f370e85d6d Increment version 2023-01-13 16:08:32 -08:00
PepperCode1
83a5723420 Fix IndexedModel allocating incorrect amount of bytes
- model.size() returned the byte size relative to the model's
VertexType, but the byte size relative to the passed VertexType is
needed instead
2022-12-31 14:34:59 -08:00
Jozufozu
23c0ef6f33
Update changelog.txt 2022-12-14 09:16:21 -08:00
PepperCode1
1d851906ab Merge remote-tracking branch 'origin/1.18/dev' into 1.19/dev 2022-12-13 13:48:26 -08:00
PepperCode1
27f2181752
Merge pull request #162 from marchermans/1.18/dev
Switch to the block vertex format for instancing
2022-12-08 15:05:16 -08:00
Marc Hermans
e04ae88073
Switch to the block vertex format. 2022-12-01 21:24:11 +01:00
PepperCode1
cf22aab2ea Merge branch '1.18/dev' into 1.19/dev 2022-11-22 13:04:47 -08:00
PepperCode1
f56d0f9024 Models are (actually) temporary
- Call Model#delete on instancer delete
- Add constraint to modelSupplier in Material#model
- Fix memory leak in ModelPart
- Add ArrayModelRenderer#getModel
2022-11-22 13:04:03 -08:00
PepperCode1
88135d8715 Tiniest of discrepancies
- Re-add default implementation of Model#createEBO
- Remove old commented methods in VirtualChunk
- Update Forge
2022-11-10 16:56:23 -08:00
PepperCode1
8c36613738 Merge branch '1.18/dev' into 1.19/dev
# Conflicts:
#	gradle.properties
#	src/main/java/com/jozufozu/flywheel/core/hardcoded/ModelPart.java
#	src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java
#	src/main/java/com/jozufozu/flywheel/core/model/Model.java
#	src/main/java/com/jozufozu/flywheel/core/model/WorldModelBuilder.java
#	src/main/java/com/jozufozu/flywheel/event/ForgeEvents.java
#	src/main/java/com/jozufozu/flywheel/mixin/LevelRendererMixin.java
#	src/main/java/com/jozufozu/flywheel/mixin/instancemanage/ChunkRebuildHooksMixin.java
#	src/main/resources/flywheel.mixins.json
2022-11-10 16:41:02 -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
a68e6f553d Merge branch '1.18/dev' into 1.19/dev 2022-11-10 15:01:29 -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
f47f547930 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-06 14:00:24 -08:00
Jozufozu
9280ae50dd 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-10-22 12:36:13 -07:00
PepperCode1
6c11958b9e Merge branch '1.18/dev' into 1.19/dev 2022-09-28 20:05:55 -07:00
PepperCode1
36140623d3 Include new versions in bug report template 2022-09-28 20:05:41 -07:00
PepperCode1
adcb61526b Fix crash with Optifine
- Bump version
2022-09-28 20:04:04 -07:00
Jozufozu
ccbcaf9e3f Fixinum
- Fix missing chunks when backend is off and sodium installed.
 - Fix crashes when used with iris.
2022-09-25 17:17:57 -07:00
Jozufozu
377c729355 Yeetrium
- Mixin to sodium to steal block entity rendering duties
 - Fixes z-fighting and inconsistent BE rendering
2022-09-24 22:44:42 -07:00
PepperCode1
bc5084b2d8 Merge branch '1.18/dev' into 1.19/dev
Conflicts:
	gradle.properties
2022-09-21 15:52:08 -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
Jozufozu
9b56d16f55 AAAAAAAAAAAAMD
- Fixes issue rendering models in block format while using instancing on AMD
   - A very hacky fix, everything will be cleaner in 1.0
 - Diagonalport flw.loadRenderDoc jvm arg from 1.18/culling
2022-09-02 22:49:18 -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
d51c373568 1.19.2 and more fixes
- Update to 1.19.2
- Unbind VAO before restoring GL state
- Shift RenderLayerEvent dispatching point after vanilla VBO and VAO
clean-up
- Fix BlockModel's check for an index buffer being inverted
- The RenderedBuffer returned from ModelUtil#endShadeSeparated is no
longer nullable
- Allow unshadedStartVertex to be 0
- Remove BufferUploaderMixin
- Fix PartialModel javadoc referencing the old bake event
- Switch back to Parchment mappings
2022-08-13 23:26:39 -07:00
PepperCode1
055ae6c04b Merge branch '1.18/dev' into 1.19/dev
Conflicts:
	gradle.properties
2022-08-13 14:03:56 -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
c4942ca29e Buffer building changes
- Remove ShadeSeparatedBufferBuilder and use Pair<RenderedBuffer,
Integer> instead to properly support 1.19's buffer changes
- Add ModelUtil#isVirtual to check if a ModelData is virtual
2022-08-03 23:18:49 -07:00
Jozufozu
be78f92df6 Merge branch '1.18/dev' into 1.19/dev
# Conflicts:
#	build.gradle
#	gradle.properties
#	src/main/java/com/jozufozu/flywheel/backend/Loader.java
#	src/main/java/com/jozufozu/flywheel/core/source/ShaderSources.java
2022-07-16 21:43:00 -04:00