Commit graph

12 commits

Author SHA1 Message Date
Jozufozu
7d4055f263 More organized shader compilation 2022-01-11 13:17:55 -08:00
Jozufozu
ede2ba8776 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
4908abc9e0 StructType doesn't need #asBatched and #asInstanced
- More organized this way
 - BatchingTransformer function moved into Batched
2021-12-20 22:38:33 -08:00
Jozufozu
cc707cf66a Batching Engine
- Implement alternate backend using SBBs
2021-12-15 17:12:48 -08:00
Jozufozu
5374baf241 No more material spec, everything is StructType 2021-12-09 16:34:32 -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
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
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
Jozufozu
c54514cf47 No more InstanceData#write 2021-12-02 20:13:55 -08:00
Jozufozu
0bbfb60d0c Compat work
- No more net.minecraftforge.common.util usages
 - Replace forge lazy with flywheel lazy
 - Replace forge NonNullSupplier with flywheel NonNullSupplier
 - texture2D -> texture
2021-10-12 12:52:02 -07:00
Jozufozu
ee7f6fd5e2 fixup! Initial data/struct format refactor 2021-09-14 13:52:52 -07:00
Jozufozu
fbcc1f0a10 Initial data/struct format refactor
- Inspired by jellysquid3's vertex sinks
 - More robust/extensible solution for data writes
2021-09-12 14:49:00 -07:00