PepperBell
18977da884
Minor fixes part 2
2021-05-17 12:07:45 -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
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