Commit Graph

71 Commits

Author SHA1 Message Date
simibubi
1a315a11cf Merge branch 'mc1.15/ponder-ui' into mc1.15/dev 2021-03-08 17:29:06 +01: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
JozsefA
0cb9094913 non experimental contraption rendering is back.
schematic rendering is fixed.
both of these are kinda ugly hacks, and there is definitely some rewriting necessary for when it's time to be more opengl compatible.

maybe fix belt lighting, again.
remove old belt assets.
2021-02-09 16:14:44 -08:00
JozsefA
6736577e1b fix the rainbow debugger 2021-02-08 21:38:45 -08:00
JozsefA
cfff806df4 some micro optimizations.
cache hot getters.
reduce number of calls to getBeltFacing() in BeltRenderer.
preserve floating point accuracy over (insanely) long play times.
rotate some normals and light some quads.
2021-02-08 21:17:25 -08:00
JozsefA
ee9962b27b fix some new rendering issues that popped up after the revert
proper? optifine shader handling. could use more testing
2021-02-07 22:11:29 -08:00
JozsefA
c9ff31b099 hot swappable rendering
kind of detects optifine
still some kinks to work out
2021-02-07 14:15:52 -08:00
JozsefA
5ba4477ada restore old tile rendering from 3336778052 2021-02-06 02:26:56 -08:00
JozsefA
90993ce8e1 start working on schematic rendering 2021-02-05 22:48:55 -08:00
JozsefA
456ed364a4 Fix another issue with ghost instances.
Hopefully fix belt lighting issues.
2021-02-04 00:03:37 -08:00
JozsefA
8c0e983f36 An absolutely ridiculous amount of refactoring. Shader system got a complete makeover, but still needs a little work.
Objective was GL compatibility, now runs with 3.3, 2.0 is target.
Remove old tile rendering code. Need to bring back old old (vanilla) tile rendering code.
2021-02-03 23:21:10 -08:00
JozsefA
b766658415 probably fix all issues with ghost instances
instanced tiles on contraptions now self light properly
2021-02-02 13:11:22 -08:00
JozsefA
f319dd5e8d fix #1 finally
start work on shader abstraction
use backend for ebos
fix some issues with ghost instances, more work to be done
2021-02-01 16:16:35 -08:00
JozsefA
f6b68acbd5 contraptions self light but it's slightly less slow 2021-01-30 15:37:50 -08:00
JozsefA
16b8e1175e contraptions self light but man it is slow
optimization in PlacementSimulationWorld.getBlockState
2021-01-30 15:00:26 -08:00
JozsefA
b63466774b probably fix the NPEs
start work on adaptive backend
extra sanity stuff for the render manager
massive speedup when rendering a lot of tile entities
2021-01-28 14:39:34 -08:00
JozsefA
e690f2b8ac okay you can use it now
fixed a lighting bug (with a hack, again)
everything now uses the new api
(kinetic components on contraptions are slightly broken)
2021-01-27 14:03:18 -08:00