Commit graph

2028 commits

Author SHA1 Message Date
reidbhuntley
8edfa73352 Hack to prevent rails placed by cannon from updating 2021-05-20 13:50:42 -04:00
reidbhuntley
947496995a Make schematics write tags for filtering behaviour 2021-05-20 00:45:51 -04:00
JozsefA
9a178ef9d8 Abstract fog
- WorldPrograms no longer accept an explicit fog mode.
 - They now inherit from a class that takes a list of arbitrary shader extensions
2021-05-19 19:11:06 -07:00
JozsefA
4d755dc506 More simplification
- Move more stuff to the flywheel namespace
 - Give up on ShaderConstants, there's a better way to do it
 - A semblance of better crash reports
2021-05-19 16:35:37 -07:00
Eivind
a2903182b0 Bumping registrate version to fix incompatibility with mojmap mods 2021-05-19 12:20:53 +02:00
reidbhuntley
e916b06862 Added model data refresh mixin 2021-05-18 21:52:35 -04:00
PepperBell
480d86c5ad Fix beds on contraptions
- Add beds tag to brittle tag
- Let contraptions know bed halves are attached to each other
2021-05-18 18:50:54 -07:00
JozsefA
fd6e06b487 whoops everything was spinning backwards 2021-05-18 14:46:45 -07:00
JozsefA
c299e84512 Be lazy grabbing instance fields statically 2021-05-18 14:41:16 -07:00
JozsefA
c48b94f0fb Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java
2021-05-18 14:07:34 -07:00
JozsefA
55703d8838 Move to the template system and overhaul instance attributes
- All material shaders now use the template system.
 - Because of the template system, we can know what attributes a material has, along with how they're formatted.
 - All of the *Attribute enums are effectively inlined, as the context they used to provide is no longer needed.
2021-05-18 14:05:52 -07:00
Jozufozu
f6c27c395b
Merge pull request #1599 from PepperCode1/contraption-lighting
Add Lighting to Non-Flywheel Contraptions
2021-05-18 13:58:56 -07:00
PepperBell
18977da884 Minor fixes part 2 2021-05-17 12:07:45 -07:00
Kryppers
6c3bec250f Pixel perfect
Fixed one of the tank rivets being out of place by one pixel.
2021-05-17 20:04:16 +01:00
joker876
a74c8127f3
Update pl_pl.json 2021-05-17 10:59:39 +02:00
JozsefA
695fe98d28 MaterialSpecs choose their model formats 2021-05-16 20:37:26 -07:00
PepperBell
fd6c930a65 Merge remote-tracking branch 'upstream/chromatic-projector' into
contraption-lighting

# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java
#	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
2021-05-16 19:12:14 -07:00
PepperBell
61b101f0c6 Refactor contraption matrices
- Create ContraptionMatrices class for better management of matrices during the contraption rendering process
- Fix diffuse lighting when rendering contraptions without Flywheel
- Clean up TileEntityRenderHelper
- Add disableDiffuseTransform to SuperByteBuffer and fix light calculation logic
2021-05-16 18:42:56 -07:00
JozsefA
6227e81066 TemplateBuffer is no more
- Instead, BufferBuilderReader can decode parts of a BufferBuilder.
 - BufferedModel and its subclasses are now created directly with a ByteBuffer.
 - ContraptionModel renamed to IndexedModel.
 - InstancedModel and IndexedModel both now take model formats as arguments.
 - All of this allows for better abstraction, composition, and control of models rendered with Flywheel.
2021-05-16 15:39:52 -07:00
JozsefA
9ff193946c Refactor InstancedModel to not rely on inheritance
- Instead, MaterialSpecs store the information
 - RenderMaterials are now generic on InstanceData instead of InstancedModel
 - RenderMaterials are directly constructed with and store a MaterialSpec
2021-05-15 16:41:56 -07:00
PepperBell
f33b08d996 Minor fixes
- Fix holder refresh
- Fix SuperByteBuffer light calculation
- Remove unused import
2021-05-15 12:15:06 -07:00
PepperBell
67052fd00c Add lighting to non-Flywheel contraptions
- Pass contraption world to movement behavior rendering
- Add hybrid lighting option to SuperByteBuffer (takes max of world light and vertex light)
- Create ContraptionWorldHolder for caching contraption worlds for contraptions that are not rendered with Flywheel
- Refactor some parts of contraption rendering
2021-05-15 00:21:20 -07:00
JozsefA
79977aee14 Choose between 2 different implementations of a mapped buffer
- MappedBufferRange (GL30) and MappedFullBuffer (GL15) so far
 - Persistent mapping (optionally?) would be nice
2021-05-14 22:51:14 -07:00
JozsefA
8efe8ed01e Port the fixed lightmap shift to WorldContext 2021-05-14 18:32:27 -07:00
JozsefA
3856283353 Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionModel.java
2021-05-14 18:07:13 -07:00
JozsefA
a9cdb1ab6b Begin buffer rework 2021-05-14 18:04:25 -07:00
Jozufozu
e1de6b5f00
Merge pull request #1597 from PepperCode1/contraption-rendering-fixes
Tweak Contraption Rendering
2021-05-14 18:02:09 -07:00
PepperBell
dac9010f20 Optimize lighting checks
Also
- Set null layer after rendering contraption
2021-05-14 17:23:10 -07:00
PepperBell
6c1c7a10d9 Fix darker contraptions
Also
- Partially fix incorrect vertex lighting (make sure to not sure Forge's lighting calculator)
- Reorder some lighting to make it more efficient
- Cleanup some things
2021-05-14 16:34:35 -07:00
JozsefA
7abc860809 Fix fluid rendering in tanks and pipes on fabulous graphics 2021-05-13 11:37:04 -07:00
JozsefA
56b2046957 It can actually load and link something
- Lots of refactoring in the shader loading code.
 - Abstract all the different shader source transformations into ProcessingStage.
 - An ordered list of ProcessingStages is called a ShaderTransformer.
 - When you acquire sources, a Shader now keeps track of the source location, shader type, and source code all together.
2021-05-12 15:14:33 -07:00
Mario
a54107baf1 Add washing recipes for Endergetic Expansion's petrified items 2021-05-12 19:49:27 +10:00
Mario
ee480a7f46 Add Supplementaries support for milling flax and washing blackboards 2021-05-12 19:48:40 +10:00
JozsefA
c1b7a1c19d Extremely fancy shader templating
- Nothing is properly hooked up yet.
 - A single shader file will be able to be compiled with different opengl targets.
 - I plan on using this to implement meshlet rendering as an alternate backend-backend that will be used when available.
 - It could also be used to enable compatibility with opengl 3.0 or potentially even 2.0.
2021-05-11 18:24:12 -07:00
JozsefA
2c4d650639 Organize the mixins 2021-05-11 12:34:38 -07:00
JozsefA
916b187aa8 Better belt breaking 2021-05-11 11:39:13 -07:00
JozsefA
f6937ffb0c Only a few moves left
- flywheel stuff only barely depends on create
 - start drafting what multiple backends could look like
2021-05-11 11:02:43 -07:00
Mario
3ebf1d6c64 Add filling and emptying recipes for Alex's Mobs' lava bottles 2021-05-11 23:16:09 +10:00
JozsefA
70401e4ac4 More tweaking
- FLWFinalizeColor takes care of assigning gl_FragColor
 - Multiply crumbling alpha with diffuse alpha
2021-05-08 23:29:02 -07:00
PepperBell
bc6a6a3c9b Merge remote-tracking branch 'upstream/mc1.16/dev' into mc1.16/fix-bugs 2021-05-08 20:56:21 -07:00
PepperBell
b10ceaf63d Improve normal scaling fix 2021-05-08 20:02:32 -07:00
simibubi
ca5b9b4fb9 Bugs and things
- Recipes for the diving gear
- Idle Windmill Bearings now attach their structure when moved as part of another contraption
- Fixed pumps not updating transfer speed when directly between containers
- Fixed Multiblock Fluid tanks showing inconsistent information on their goggle overlay
- Creative Fluid tanks no longer show a goggle overlay
- Fixed Funnels and other interfaces not updating properly when affected chunks are unloaded and reloaded
- Fixed tooltips rendering behind item icon in the filter screens
2021-05-08 18:37:30 +02:00
JozsefA
4111680755 FLWFinalizeWorld takes care of assigning gl_Position 2021-05-07 23:22:40 -07:00
JozsefA
05b56b9b5e Error when missing #flwbuiltins in WorldContext 2021-05-07 22:15:07 -07:00
JozsefA
aa1a45f164 Block breaking overlay is animated now 2021-05-07 21:24:07 -07:00
Kryppers
39fb642fd9 The compressioning
50 to 90% compression across all textures
2021-05-08 01:14:22 +01:00
JozsefA
5821476c9f Strip png metadata, save 157KB 2021-05-07 16:42:28 -07:00
Kryppers
c56464d0df copper polish 2021-05-08 00:17:29 +01:00
PepperBell
e05db3cd76 Check for incorrect FluidBucketWrapper usage
Items that use FluidBucketWrapper incorrectly:
- Will not get filling recipes
- Cannot be filled with the spout
2021-05-07 13:33:18 -07:00
Mario
f6150ce1c7 Add pressing recipes for path blocks from Environmental, Atmospheric and BetterEnd (Forge) 2021-05-07 18:35:34 +10:00