Commit graph

1468 commits

Author SHA1 Message Date
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
PepperBell
18977da884 Minor fixes part 2 2021-05-17 12:07:45 -07: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
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
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
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
JozsefA
aa1a45f164 Block breaking overlay is animated now 2021-05-07 21:24:07 -07:00
JozsefA
3171a0b7e5 Block breaking animations for arbitrary flywheel tiles.
- Kinda jank so far, but it's great progress.
 - This is also a really good showcase for how flexible the ShaderContext system is.
2021-05-06 18:38:05 -07:00
JozsefA
9736ba19b5 Things here and there
- Move CreateClient.kineticRenderer to Backend
 - InstancedTileRenderers keep track of their own queuedUpdates
 - Sort of a listener system for some render events
2021-05-04 23:56:50 -07:00
JozsefA
55e3f50f64 MaterialSpecs act alone
- No more awkward MaterialType/MaterialSpec business
 - MaterialTypes are registered directly
 - FastRenderDispatcher merged with backend
2021-05-04 21:00:55 -07:00
JozsefA
b6f13aa7ff More granularity for shader context loading 2021-05-04 16:22:27 -07:00
JozsefA
bc5630e593 ShaderContexts
- A huge step towards more arbitrary shader usage
 - Need to work on registration of the different parts
 - Things are unorganized
2021-05-03 21:46:33 -07:00
JozsefA
35768b5ade Step towards arbitrary shader contexts 2021-05-02 14:16:02 -07:00
JozsefA
15f4cd305e Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector 2021-05-02 11:50:39 -07:00
simibubi
4974df5c99
Merge pull request #1544 from PepperCode1/mc1.16/model-cleanup
Cleanup Models and Custom Item Rendering
2021-05-02 17:42:48 +02:00
simibubi
b086fbd1f2
Merge pull request #1520 from PepperCode1/mc1.16/reload-listeners
Tweak Reload Listener Classes
2021-05-02 17:39:29 +02:00
JozsefA
2112061db0 Vertex shader abstractions 2021-05-01 23:39:36 -07:00
JozsefA
67e75d747a Move backend 2021-05-01 16:32:09 -07:00
JozsefA
2e16b85190 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/.cache/cache
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/es_mx.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/generated/resources/assets/create/lang/unfinished/ru_ru.json
#	src/generated/resources/assets/create/lang/unfinished/zh_cn.json
#	src/generated/resources/assets/create/lang/unfinished/zh_tw.json
2021-05-01 16:18:32 -07:00
PepperBell
ffd4c75572 Merge remote-tracking branch 'upstream/mc1.16/dev' into
mc1.16/model-cleanup

Conflicts:
	src/main/java/com/simibubi/create/content/curiosities/tools/DeforesterItemRenderer.java
	src/main/java/com/simibubi/create/content/curiosities/zapper/blockzapper/BlockzapperItemRenderer.java
2021-05-01 15:46:50 -07:00
PepperBell
9be5a3ec2a Cleanup 2021-05-01 15:41:03 -07:00
simibubi
8fff3d6745 The great second purge of Tools
- Removed the Blockzapper
- Removed the Deforester
- Handheld Worldshaper -> Creative Worldshaper
- Worldshapers now have a "surface" and "cluster" brush type
- Worldshapers now follow the creative colour palette
- Some UI touch-ups for tools
2021-05-01 13:19:01 +02:00
JozsefA
dc3517eb3a Inversion 2021-04-30 14:28:18 -07:00
JozsefA
37e8e87553 Merge branch 'mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/foundation/render/backend/Backend.java
#	src/main/java/com/simibubi/create/foundation/render/backend/ShaderLoader.java
#	src/main/java/com/simibubi/create/foundation/render/backend/core/BasicProgram.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/GlBuffer.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/GlVertexArray.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/shader/FogSensitiveProgram.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/shader/GlProgram.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/shader/ProgramSpec.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/GlCompat.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/instancing/DrawInstanced.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/instancing/InstancedArrays.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/instancing/VertexArrayObject.java
#	src/main/java/com/simibubi/create/foundation/render/backend/instancing/InstancedModel.java
#	src/main/java/com/simibubi/create/foundation/render/backend/instancing/RenderMaterial.java
2021-04-30 12:15:32 -07:00
JozsefA
c9718b0a1b No more compartments in Flywheel.
It never really needed them in the first place.
2021-04-30 00:31:52 -07:00
JozsefA
322496f3b4 Reformat backend 2021-04-29 17:19:08 -07:00
JozsefA
d9b04138df Whoops flywheels are straight again 2021-04-29 15:12:08 -07:00
JozsefA
063e98983f Oh god the line endings
- Isolate AllBlockPartials to PartialModel
 - Further cleanup to PartialBufferer
2021-04-29 14:03:52 -07:00
JozsefA
446b24f1cf Random stuff
- Multiply by 31 in some hash functions
 - Remove unused render utility classes
2021-04-29 11:44:45 -07:00
JozsefA
e33ab160ac Start to cleanup the AllBlockPartials methods 2021-04-28 22:47:51 -07:00
JozsefA
81b0cf77e1 Contraption renderer checks for flywheel worlds
- Should fix an issue with smaller units
2021-04-28 22:08:45 -07:00
PepperBell
80921ebd6b Remove ISimpleReloadListener lambda types 2021-04-28 21:25:06 -07:00
PepperBell
9140c2ad4c Merge branch 'mc1.16/dev' of https://github.com/Creators-of-Create/Create.git into mc1.16/dev 2021-04-28 13:38:26 -07:00
PepperBell
61f2a35a61 Add ISimpleReloadListener
ISimpleReloadListener is a reload listener functional interface meant to
be used when preparation is not needed. All current reload listeners
have been moved to this interface, which allows them to be lambdas and
not have to create a new Object for every reload.
2021-04-28 13:37:21 -07:00
JozsefA
18d23f69e0 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/.cache/cache
#	src/generated/resources/assets/create/lang/en_us.json
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/es_mx.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/generated/resources/assets/create/lang/unfinished/ru_ru.json
#	src/generated/resources/assets/create/lang/unfinished/zh_cn.json
#	src/generated/resources/assets/create/lang/unfinished/zh_tw.json
2021-04-28 12:42:41 -07:00
simibubi
ab6b18e42d SoundScapes, Part III
- Increased minimum sound threshold for ambient noise
- Sounds for contraption (dis-)assembly
- Sounds for more wrench interactions
- Hand crank clicks less furiously
- Block breakers now make block breaking noises
- Crafting noises
2021-04-28 17:55:05 +02:00
JozsefA
54f5783489 More versatile ui/settings
- The channel mask still needs work
 - Add contrast filter
2021-04-28 00:01:26 -07:00