Commit graph

1799 commits

Author SHA1 Message Date
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
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
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
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
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
fcbab5b820 #flwbuiltins and oh so much less overhead
- Put a lot of the reusable code in a sort of standard library
 - Need to evaluate just how much should be lumped in there
 - Still need to allow for users to create alternate contexts for the builtins
 - Normal world and contraptions are still hardcoded contexts
2021-05-03 13:42:23 -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
fd030d3273 Post PR datagen
- Fixed worldshaper asset errors
- Removed zero-width spaces from pl_pl localization file (broke datagen)
- Regenerated unfinished lang templates
2021-05-02 19:37:39 +02: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
4f10f743b4
Merge pull request #1525 from CKenJa/mc1.16/dev
Update & fix  ja_jp.json
2021-05-02 17:40:49 +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
simibubi
cc2541a476
Merge pull request #1482 from joker876/mc1.16/dev
Add pl_pl localization (Poland)
2021-05-02 17:38:36 +02:00
simibubi
dd82629e5d
Merge pull request #1460 from Chubzik1/patch-2
Small fix for advancements (ru_ru.json)
2021-05-02 17:35:33 +02:00
simibubi
57af793c16
Merge pull request #1456 from LWHK/mc1.16/dev
[Localization]Update CHS translation
2021-05-02 17:34: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
CKenJa
572b30f815 Update & fix ja_jp.json
credit: RakuGaki-MC
2021-04-29 18:58:23 +09: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
TUsama
caafd3baab forgot it 2021-04-28 23:33:46 +08:00
JozsefA
54f5783489 More versatile ui/settings
- The channel mask still needs work
 - Add contrast filter
2021-04-28 00:01:26 -07:00
JozsefA
70188889be Persistence is key
- Projectors now remember their setting and sync between clients
2021-04-23 17:20:16 -07:00
JozsefA
e8ab21c184 More polish
- UI icons
 - Color masking
 - Better scroll ux
 - FilterSphere now has its own file
2021-04-23 14:38:31 -07:00
JozsefA
3879d55517 Better projector gui 2021-04-22 23:42:49 -07:00