ImageUtil had previously provided a number of image fill and outline
methods which accepted Predicates to control the fill and outline
behavior, but they are not used anywhere in the client or by external
plugins. This commit removes these methods and the
is(Not)?FullyTransparent ColorUtil methods which existed solely as
Predicate defaults for them.
We receive numerous support queries regarding unknown or errantly-set
keybinds causing issues during normal gameplay for our users, especially
since the plugin hub has been released and more plugins are able to
register keybinds. This commit adds logging for keybind registration and
activation for ease of troubleshooting.
Prior to 8c00f6da88 the interpolation of fragment
shader inputs appears to not have been accounting for perspective. This broke
texturing due to the texture ids being interpolated for perspective which was
fixed in 47e0ac8032. The hsl values similarly
require not accounting for perspective, so the noperspective interpolation
qualifier has been added. It is unclear to me why the geometry shader removal
would affect the interpolation like this since it was emitting vertices with
the correct z values.
Originally this was fixed in d02ddfc1b2 but then
broken in d676542dc2. Preferred positions don't
make sense for either overlay type and for tooltips breaks them due to having
them offset from the mouse position.
The face sorting still requires the toScreen function to match exactly
the same order that would be computed on CPU, but for the projection for
rendering we can simplify it by replacing it with a projection matrix.
This also drops the requirement of having a geometry shader to remove
faces too close to or behind the camera. Upon closer inspection it looks
like the client can draw faces which have at least one vertex which is
>= 50 from the camera, so this now more accurately reflects the software
renderer.
Co-authored-by: Adam <Adam@sigterm.info>
Inline the body of pushFace() into uploadModel() and perform the loop hoisting
of the locals that this enables. This cuts off 10-20ms of scene load time on my machine.
Co-authored-by: Jonathon Reesor <jonathon.reesor@gmail.com>