Commit Graph

152 Commits

Author SHA1 Message Date
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
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
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
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
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
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
JozsefA
7b7c6ef3c5 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/AllBlocks.java
2021-04-20 14:07:54 -07:00
JozsefA
f75422f895 Instruction parallel ray sphere intersection 2021-04-20 14:05:50 -07:00
JozsefA
e50590f6b7 Start working on the blocks
- Also better control and visuals
2021-04-18 22:23:41 -07:00
JozsefA
a6248daf7e Better spheres and framebuffer compat layer 2021-04-17 18:55:29 -07:00
JozsefA
128a2c2e06 Remove compat layer wrapper functions 2021-04-17 18:54:57 -07:00
JozsefA
83dc241cd2 Basic spherical effect 2021-04-17 13:04:42 -07:00
JozsefA
fafd7c84be Everything works as intended 2021-04-15 15:39:34 -07:00
JozsefA
45b1412837 Code sanity 2021-04-15 13:28:23 -07:00
JozsefA
f12d9452b4 Shader debugging: scaling the world
In the linearizeDepth function in area_effect.frag, I was multiplying by 2, but the scaling of the world was off. The number I found that works best is e - 0.99, and I have no idea why.
2021-04-15 12:46:54 -07:00
JozsefA
7988fb69a7 Color matrices and many effect spheres 2021-04-13 23:52:52 -07:00
JozsefA
db7913d91b It all works, needs some cleanup 2021-04-12 16:00:13 -07:00
simibubi
d249318b80 Pose stack says no
- TileEntities not appreciative of wrapped worlds are now much less likely to cause a hard crash
2021-04-11 02:56:11 +02:00
JozsefA
08b2c498e6 Add basic blocks and TEs for the chromatic projector 2021-04-09 16:16:25 -07:00
JozsefA
f2c6afdcb3 Fix projection matrix bug
- Copy the projection matrix when vanilla would be uploading it to GL.
 - This should account for just about everything.

Unrelated to the fix:
 - Shader programs now have more flexibility in specialization.
 - Accomplished with IMultiProgram.
 - Remove unnecessary SHADER_DEBUG_OUTPUT boolean.
2021-04-09 14:48:44 -07:00
simibubi
edb1b59f41 Housekeeping
- Added an .editorconfig
- Auto-Reformatted most .java files
- Auto-Organized Imports
2021-04-08 19:22:11 +02:00
simibubi
525001e410 Merge branch 'mc1.15/dev' into mc1.16/dev 2021-04-07 12:36:39 +02:00
JozsefA
40bdbc7048 Instanced rope pulleys 2021-04-06 16:46:24 -07:00
JozsefA
5abc1e0fe7 Instanced pulleys first pass 2021-04-02 13:38:28 -07:00
JozsefA
78fbb52ddc Merge remote-tracking branch 'origin/mc1.15/dev' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionCollider.java
#	src/main/java/com/simibubi/create/content/curiosities/TreeFertilizerItem.java
2021-03-31 21:17:01 -07:00
JozsefA
c21a8bcbde Fix startup crash on some AMD drivers.
- The fix comes from Grondag's work on canvas.
 - Original commit: 820bf75409
2021-03-31 20:53:02 -07:00
JozsefA
6ef88c3bd8 Fix some issues with instance rate limiting 2021-03-31 16:25:59 -07:00
JozsefA
b9f6a3b94e Instanced bearings 2021-03-31 16:19:58 -07:00
JozsefA
c905aa5e2e Merge branch 'mc1.15/dev' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionKineticRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java
#	src/main/java/com/simibubi/create/content/logistics/block/FlapData.java
#	src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java
2021-03-30 14:58:08 -07:00
JozsefA
a2b9dfc28a Change the locks
- InstanceKey is no more.
 - InstanceData and co. keep track of removals and updates.
 - InstancedModel's buffer management is much more sane now.
 - Re-add mixin to #tickBlockEntities and ensure compat with Performant.
 - Move ...backend.instancing.impl to backend.core
2021-03-30 14:14:58 -07:00
simibubi
37c3625d4a Merge branch 'mc1.15/dev' into mc1.16/dev 2021-03-30 18:34:40 +02:00
JozsefA
ff4a9e5c78 Fix arms glitching out on contraptions.
- Also provide a hook for subclasses of InstancedTileRenderer to control when specific instances tick.
2021-03-29 15:06:09 -07:00
caa3c57b71 Merge & Port 2021-03-28 10:58:25 +02:00
JozsefA
4e7777a130 Fix more instancing nonsense.
OrientedData was still applying the origin position shift, so some
things (mechanical presses) wouldn't appear in the right spot.
2021-03-27 16:35:47 -07:00
9bc25db615 Keep everything up to date 2021-03-27 08:32:23 +01:00
JozsefA
0b25f662dc Frame rate and tick rate limiting with distance.
- Significant performance improvement when dealing with massive amounts of dynamic instances, otherwise marginal.
2021-03-26 16:47:37 -07:00