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
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
JozsefA
fc919c4ac4
Basic projector gui
2021-04-22 16:02:16 -07:00