Commit graph

1051 commits

Author SHA1 Message Date
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
0ad6db4bf7 cache KTEs' renderBoundingBox 2021-02-12 23:06:41 -08:00
JozsefA
b1905ddfd4 probably fix issue with phosphor crashing contraptions 2021-02-12 21:11:35 -08:00
JozsefA
e88dd89262 whoops null pointer is no more 2021-02-12 19:33:13 -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
3e6ef34993 restore arm rendering 2021-02-06 14:39:58 -08:00
JozsefA
5ba4477ada restore old tile rendering from 3336778052 2021-02-06 02:26:56 -08:00
JozsefA
2aa06b0786 useful debug arg in build.gradle 2021-02-05 22:50:07 -08:00
JozsefA
90993ce8e1 start working on schematic rendering 2021-02-05 22:48:55 -08:00
JozsefA
d50e07369b flywheels render with the new tech, and therefore have more accurate lighting 2021-02-04 19:21:25 -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
751fc7192d fix rotating stuff on contraptions 2021-01-28 23:59:58 -08:00
JozsefA
1de931a122 make pulley key null, could avoid a crash 2021-01-28 14:41:54 -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
04ccf6e738 belt light 2021-01-27 16:28:39 -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
JozsefA
67d59540cf THIS IS NOT READY FOR USE
new rendering api/pipeline
not everything is there yet, but a lot is
2021-01-26 19:45:13 -08:00
JozsefA
1874b267b3 fix a contraption lighting glitch 2021-01-25 01:58:39 -08:00
JozsefA
93353b61d6 smarter light volumes
start the process of creating sane gl abstractions
stabilized contraption bounds now fit tightly with them
fix global tile entity issues
2021-01-25 01:17:55 -08:00
JozsefA
7bac93a03c fix drill orientation issue in contraptions 2021-01-25 00:24:07 -08:00
JozsefA
f05497a28c okay the synchronized functions didn't actually fix it
but now we actually benefit from the tile entity render filtering, another 2x ish performance
2021-01-24 01:07:22 -08:00
JozsefA
59e29ac958 that was a nasty crash
os memory exception because memory that was being sent to the gpu was getting modified by another thread
2021-01-23 23:32:23 -08:00
JozsefA
ebd20f5173 suddenly, everything is smooth and dry
- replace all usages of Minecraft.getRenderPartialTicks() with AnimationTickHolder.getPartialTicks()
 - refactor stabilized and mounted lighters into one class
 - separate fancy contraption render logic and entity render logic, should maybe move *all* rendering to ContraptionRenderDispatcher
2021-01-23 23:07:12 -08:00
JozsefA
55ea7e3e55 cart contraptions are lit 2021-01-23 21:02:11 -08:00
JozsefA
dea3f05364 fix saws not rendering their shafts in contraptions 2021-01-23 16:39:11 -08:00
Jozsef
4cbea0f9c9 intel graphics now like the shaders 2021-01-23 15:32:17 -08:00
JozsefA
83cb735e62 actors render correctly 2021-01-23 12:49:33 -08:00
JozsefA
cfd60fbc8d fast actor rendering but it's not correct yet 2021-01-22 18:00:14 -08:00
JozsefA
f6518d5c5d insane amounts of refactoring
surprisingly it all still works the same, but better
maybe still some more cleanup to do
2021-01-22 11:28:39 -08:00