Commit Graph

86 Commits

Author SHA1 Message Date
JozsefA
3d0898c59b Smooth harvesters, step sounds v1. 2021-03-20 13:16:20 -07:00
JozsefA
b7ec884b9c Includes, quaternions, and frames.
- Shaders can now reference other files with #flwinclude <"...">.
 - Shaders are now located in assets/flywheel/shaders.
 - Include paths are namespaced (a la ResourceLocation) and relative to the flywheel shaders root folder.
 - Optimized glsl rotations using quaternions (when applicable) and vectorized matrix construction.
 - Vectorize diffuse lighting calculations.
 - Micro optimization in SmartTileEntity.java
2021-03-18 14:36:37 -07:00
JozsefA
e1c16d869d Some semblance of immersive portals compat.
- Each world gets its own KineticRenderer now.
2021-03-15 15:58:41 -07:00
JozsefA
52eed2bab3 Instanced Gauges and Valves, DRY lighting. 2021-03-15 14:20:13 -07:00
JozsefA
b71c831a07 Lieutenant Scatterbrain.
- User no longer has to manually add instances, new hook instead.
 - Use registrate for InstanceFactories.
 - Instanced levers.
 - Instanced hand cranks.
 - Reorganize PhysicalFloat and LerpedFloat.
2021-03-13 20:45:24 -08:00
JozsefA
f9eb4dd2e7 Pondering back and forth.
- Only about gantries so far.
 - Reduce Backend log spam.
2021-03-11 15:59:26 -08:00
JozsefA
c54d80a161 Better bounding boxes for bearings.
- Fix bug causing entities to slip off the far corners of bearing contraptions.
 - This was already implemented for BearingLighter.java, now it's promoted to Contraption.java.
 - Promote anonymous WrappedWorld in Contraption.java to inner class.
2021-03-10 17:08:20 -08:00
JozsefA
b7f0fe9b10 Oops engine stuff is okay again. 2021-03-10 16:09:17 -08:00
JozsefA
2ddf57cd76 Instanced mixers and presses. 2021-03-09 15:46:15 -08:00
JozsefA
95eabe9cf9 Instanced arms. 2021-03-09 14:22:20 -08:00
JozsefA
33d718d653 Check if worlds support the flywheel backend. 2021-03-08 15:24:58 -08:00
JozsefA
e943705fb7 Merge remote-tracking branch 'upstream/mc1.15/dev' into mc1.15/dev
# Conflicts:
#	src/main/java/com/simibubi/create/AllTileEntities.java
#	src/main/resources/META-INF/accesstransformer.cfg
2021-03-08 11:06:35 -08:00
simibubi
1a315a11cf Merge branch 'mc1.15/ponder-ui' into mc1.15/dev 2021-03-08 17:29:06 +01:00
JozsefA
b31f4d09bd Housekeeping. 2021-03-08 02:27:56 -08:00
JozsefA
8ce0f47f01 No more 7 circles of callbacks.
- Instead of using consumers to edit instance data, just give the user a pointer to the data.
 - Easier to use, more predictable access.
2021-03-08 02:02:47 -08:00
JozsefA
d0e5be24d7 Transformed models. 2021-03-08 00:36:23 -08:00
JozsefA
bb3fed2a3b Towards better normals.
- Easier SuperByteBuffer transform settings.
 - Some cleanup here and there.
2021-03-06 21:46:17 -08:00
JozsefA
25fdf08e11 Fog modes for new rendering.
- For each fog mode, compile a different version of each shader.
 - Could maybe do some fancier preprocessing to make writing shaders easier?
2021-03-04 23:43:28 -08:00
JozsefA
fe492c5d75 Better instance deletions.
- Defer element removal until just before the model is drawn.
 - Use a modified version of ArrayList#removeIf to delete the instances and adjust the keys.
2021-03-03 17:14:19 -08:00
JozsefA
9d77f85b94 Fix crash on world reload. 2021-03-03 13:10:44 -08:00
JozsefA
b1dc36d358 Trying to tick everything is slow.
- Keep track of tickable instances separately.
2021-03-03 02:37:04 -08:00
simibubi
c1c6e5e046 Controlled attachment
- Added the Sticker, a redstone-driven block attachment component
- Fixed lighting of TileEntities lowered by a pulley
2021-03-03 05:21:58 +01:00
JozsefA
5499fdbad0 The flappening.
Tunnel and funnel flaps are now rendered with the new engine.
2021-03-02 15:54:31 -08:00
JozsefA
55f1b538b5 Only contraptions use EBOs now.
Tight light bounds for bearing contraptions.
2021-02-27 21:35:45 -08:00
JozsefA
884f19d518 Fix issue when rendering very large contraptions. 2021-02-27 18:29:35 -08:00
simibubi
43f0ad1c78 Freeze and Identify
- Ponder scenes can now be paused and analysed, viewing tooltips for targeted blocks in the scene
- During editing, identify mode can be used to move targeted positions to the clipboard
- Ponder-compatible components can be pondered about in identify mode
2021-02-28 01:34:56 +01:00
JozsefA
6dc4a18ed3 Extra safety checks. 2021-02-25 17:16:22 -08:00
JozsefA
e62d89b21c Everything is lit, hopefully all the time now. 2021-02-24 16:52:49 -08:00
simibubi
550744da92 Merge branch 'mc1.15/dev' into mc1.15/ponder-ui 2021-02-24 17:52:20 +01:00
JozsefA
cad71e5843 Even more compatibility. 2021-02-23 16:20:46 -08:00
JozsefA
b5f9cbc4b3 improve compatibility layer. 2021-02-20 15:22:07 -08:00
JozsefA
e84c6d3abe tweak max origin distance to avoid z-fighting at relatively high coordinates.
remove unnecessary state changes.
2021-02-19 15:00:28 -08:00
simibubi
b61dc0d562 Merge branch 'mc1.15/dev' into mc1.15/ponder-ui 2021-02-19 18:03:34 +01:00
JozsefA
3e63afa5f5 fix concurrent modification 2021-02-18 14:00:17 -08:00
simibubi
d59fea1079 Bloat.
- Auto-Organize inputs
- runData after lang PRs
- change runWhenOn to non-deprecated unsafeRunWhenOn, now that late forge version is required
- Address a few warnings
2021-02-18 19:43:22 +01:00
JozsefA
9b4d53d452 fix one residual merge conflict.
creating matrix stacks is expensive, but correct.
2021-02-17 14:27:49 -08:00
JozsefA
02db3f5a2c fix some problematic code.
creating matrix stacks is expensive, apparently
2021-02-17 13:58:24 -08:00
JozsefA
1e95fe4c7b avoid floating point accuracy errors at high coordinate values.
refactor contraption model translation to be a method in AbstractContraptionEntity.
 - this simplifies the setup required for the fast rendering.
2021-02-14 23:09:17 -08:00
JozsefA
11616a0b16 avoid 'glGet's at all costs 2021-02-13 16:26:34 -08:00
JozsefA
951a0c4769 contraption actors take into account self lighting 2021-02-13 13:10:14 -08:00
JozsefA
485a0d2f95 hotswapping is more sane now. 2021-02-12 17:30:21 -08:00
JozsefA
a5f3d799d1 kinda separate system capability stuff, should probably clean this up more.
fix lighting glitches on world load.
2021-02-12 16:36:20 -08:00
JozsefA
d824304f12 tile entities on contraptions account for self lighting 2021-02-12 00:13:39 -08:00
JozsefA
a8053ce472 these are somewhere else too 2021-02-11 23:41:52 -08:00
JozsefA
31a1fd71ce everything is somewhere else 2021-02-11 23:36:05 -08:00
JozsefA
67408e0dff better vertex attributes.
all shaders are now GL 2.0 compatible!!!
contraption structure rendering is technically 2.0 compatible now, need some better handling for that.
2021-02-11 20:03:24 -08:00
JozsefA
576165e3d6 some attrib stuff 2021-02-11 14:31:50 -08:00
JozsefA
3820e11954 get it working again 2021-02-11 02:26:30 -08:00
JozsefA
02114b1d9a begin 2.0 compatibility push, probably not going to be ready for the next release 2021-02-10 17:14:03 -08:00
JozsefA
e93562569b world fog works, fluid fog still doesn't.
better dimension changes.
2021-02-09 21:18:05 -08:00