Jozufozu
de6c4270b2
Repack JOML
2021-12-24 02:21:59 -08:00
Jozufozu
3ce1345d6a
Fix GL error spam and do some cleanup
...
- Add flywheel$ prefix to mixin duck interfaces/accessors
- Better chat messages for /flywheel backend command
- Track VAO via vanilla
2021-12-24 01:45:38 -08:00
Jozufozu
5f7b17a200
Merge branch '1.18/dev' into 1.18/batching
2021-12-23 23:23:04 -08:00
Jozufozu
af209f525e
Contraptions and engines
...
- Sort of get the batching engine working for contraptions but this feels wrong
- TaskEngine gets passed in methods
- Better naming for TaskEngines
- Do BufferSource ourselves
- Change BufferBuilderMixin to allow for injection into BufferBuilder objects
2021-12-23 23:22:52 -08:00
Jozufozu
aa373cbe40
Switch back to parchment, update forge
2021-12-23 23:09:51 -08:00
Jozufozu
717335d094
Bump version - 0.5.0
2021-12-22 22:37:27 -08:00
Jozufozu
39439d6335
Small config changes
...
- Make FlwCommands more readable
- EmptyArgumentSerializer for EngineArgument
2021-12-22 22:29:52 -08:00
Jozufozu
c3bc231d0a
Fix models being backwards
...
- Regression in ModelUtil#rotateToFace
2021-12-22 22:01:05 -08:00
Jozufozu
d78f030264
Better config/backend to account for multiple engines
...
- Rename probably too many things
- Needs to be tested with Optifine
2021-12-22 21:35:48 -08:00
Jozufozu
a1bf03689c
Fix diffuse lighting in batching engine
...
- Complete hack that definitely won't come back to bite me
- Also slighting change some unsafe writing stuff
2021-12-22 16:11:56 -08:00
Jozufozu
21d0db1364
GlBuffer tracks its size
...
- GlVertexArray#enableArrays
2021-12-22 14:39:34 -08:00
Jozufozu
1594c56df2
Finally safe vertex formats
...
- true to false for Pepper
- IBufferedModel -> BufferedModel
- VertexFormat -> BufferLayout
- Use ImmutableList in BufferLayout
- LayoutItem naming consistency
- Try to reduce usage of raw BufferLayouts
- Move vertex interfaces to api package
- #createWriter and #createReader in VertexType
- Some documentation
2021-12-22 02:45:45 -08:00
Jozufozu
ceb09d3dfc
util and core cleanup
...
- Consolidate/audit utility classes
- Move more towards sane vertex types
2021-12-22 00:22:41 -08:00
Jozufozu
b0f6d07b0b
Make the BatchingEngine not jittery
...
- Stop having threads compete for a single BufferBuilder
- ...by skirting around minecraft's BufferSource
- Begin work on making vertex writing sane
2021-12-21 22:47:29 -08:00
Jozufozu
831f990153
Merge branch '1.18/dev' into 1.18/batching
...
# Conflicts:
# src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java
2021-12-21 01:12:47 -08:00
Jozufozu
73134f2628
StructType doesn't need #asBatched and #asInstanced
...
- More organized this way
- BatchingTransformer function moved into Batched
2021-12-20 22:38:33 -08:00
PepperCode1
810cae681a
Improve virtual model rendering
...
- Use VirtualEmptyBlockGetter instead of mc.level
- Move getBufferBuilder from BlockModel to ModelUtil
- Add static .is method to VirtualEmptyModelData
2021-12-20 17:47:30 -08:00
Jozufozu
78a21bf0df
No need for getDirtyBitSet
...
- Faster and simpler to just do one loop
2021-12-17 22:41:22 -08:00
Jozufozu
54703d8c1a
Use task engine/sync to update instances
2021-12-17 02:17:39 -08:00
Jozufozu
80b3c1ed35
Proper task engine
...
- Manual threadpool
- More control
2021-12-17 01:03:52 -08:00
Jozufozu
3049601e4a
Simplify SBB
...
- SBB -> ModelTransformer
- Shader binding the minecraft way
- Engines are responsible for ending batches
2021-12-16 23:10:24 -08:00
Jozufozu
a668a7c7ac
Naive parallelism
...
- Submit many tasks to executor and then wait for them all to complete.
- Use WaitGroup
- SBB no longer stores params, instead accepts Params arg to render
- SBB keeps scratch variables local
- CPUInstancer keeps track of default params
- Separate #setup and #draw... functions in CPUInstancer
- Combine DirectBufferBuilder#updateAfterWriting with #intoDirectConsumer
- DirectVertexConsumer#split to distribute work
2021-12-16 10:49:26 -08:00
Jozufozu
8b472f4f51
Better SBB params
...
- Transform interface for grouping traits and combined behavior
- Move transforms to params, impl Transform
- Pass Params object to BatchingTransformers instead of SBB
2021-12-16 00:11:47 -08:00
Jozufozu
f1e63106fc
Batching Engine
...
- Implement alternate backend using SBBs
2021-12-15 17:12:48 -08:00
Jozufozu
26c35e31b6
Bump version 0.4.2-rc
...
- rc so Create 0.4a can still be compatible
- also still not sure if the accessor bug is fixed
2021-12-15 16:52:58 -08:00
Jozufozu
d07dbbf1a4
Possible fix(es) for accessor crash
...
- Haven't been able to reproduce
- Try forcing PausedPartialTickAccessor to load early
- Try renaming the method
2021-12-15 16:19:52 -08:00
Jozufozu
5cd4e69396
Update forge - 39.0.5
2021-12-15 15:08:06 -08:00
Jozufozu
0de377d5bb
Fix #extension crash on intel
2021-12-15 13:27:06 -08:00
PepperBell
07cff39a95
Sweeping up
...
- Remove deprecated methods and fields
- Bump pack format
- Fix CI badge link
- Update VanillaInstances javadoc
- Organize imports
2021-12-14 22:00:44 -08:00
Jozufozu
5e2235dab7
No need for InstancedMaterialRenderer
...
- Here's to premature abstraction
2021-12-13 21:27:15 -08:00
Jozufozu
d9bbd325ed
AMD driver workaround
...
- Just don't pool models
2021-12-13 19:55:50 -08:00
Jozufozu
ab1b4ee461
Add GPU field to bug report template
2021-12-13 11:38:32 -08:00
Jozufozu
03f513a2f1
Ready for release
2021-12-12 22:53:22 -08:00
Jozufozu
0cafa48964
Fix vanishing minecarts
2021-12-12 22:30:46 -08:00
Jozufozu
7ff0a87b17
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
733fdbefa3
Bump version - 0.4.1
2021-12-11 17:32:39 -08:00
Jozufozu
4a86c112dd
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
b183641000
Add issue template
...
- Read: copy issue template from Create
- Thanks, caelwarner!
2021-12-11 15:43:11 -08:00
Jozufozu
5ebc592391
Fix misaligned contraption light
...
- That was a pain to debug
- Idk how that ever worked
2021-12-11 15:06:07 -08:00
Jozufozu
cee1a9b0fe
1.18.1
2021-12-11 14:18:43 -08:00
Jozufozu
abeced384d
Implemented
2021-12-10 14:50:01 -08:00
Jozufozu
bd58786f94
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
43289c3579
Worlds are bigger now pt 2
...
- Stop clamping Y in [0, 256)
2021-12-10 12:31:57 -08:00
Jozufozu
20eb73025c
Worlds are bigger now
...
- Stop clamping Y in [0, 256)
2021-12-10 00:28:32 -08:00
Jozufozu
c0d5c32766
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
2394b02e3d
Update changelog
2021-12-09 18:51:09 -08:00
Jozufozu
50fdf9bb59
Whoops remove imports
2021-12-09 16:40:01 -08:00
Jozufozu
a84d850299
No more material spec, everything is StructType
2021-12-09 16:34:32 -08:00
Jozufozu
f2d406a02a
Move api package
2021-12-09 15:27:56 -08:00
Jozufozu
c5b53a0297
Add RecordingVertexConsumer
...
- Very basic and untested
2021-12-09 15:19:48 -08:00