ebiten/internal
divVerent f2209a0b51
internal/atlas: optimization: send premultiplied alpha from vertex to fragment shader. (#1996)
Note that this applies only to the builtin shaders - interface for Kage stays
unchanged for compatibility.

Minor compatibility delta: when interpolating alpha values, previous code has
created nonsense values, such as, when interpolating from
fully-transparent-black (0,0,0,0) to opaque-white (1,1,1,1), something like
half-transparent-grey (0.25,0.25,0.25,0.5) where half-transparent-white
(0.5,0.5,0.5,0.5) is used by the new code.

I assume this is a strict improvement, however this may warrant some testing.

Possible later improvement could be moving the premultiplication from fragment
shader to CPU. Did not do this as it makes the code rather inconsistent of Kage
vs built-in shader usage.

Updates #1772
2022-02-24 02:27:50 +09:00
..
affine Remove dot imports from tests - Remove dot imports (#1837) 2021-10-02 19:58:48 +09:00
atlas internal/atlas: optimization: send premultiplied alpha from vertex to fragment shader. (#1996) 2022-02-24 02:27:50 +09:00
buffered internal/driver: rename to internal/graphicsdriver 2022-02-06 20:41:32 +09:00
cbackend internal/cbackend: bug fix: compile error again 2022-02-06 19:07:17 +09:00
clock internal/clock: Rename UncappedTPS -> SyncWithFPS 2021-07-22 22:46:24 +09:00
debug graphicscommand: Dump internal image info on the debug mode 2021-08-05 01:16:42 +09:00
devicescale internal/uidriver/glfw: Clear the device scale cache when monitors are changed 2021-09-15 13:04:38 +09:00
gamepad internal/gamepad: fix SetWindowLongPtrW crash on 32-bit Windows (#1999) 2022-02-23 23:18:20 +09:00
gamepaddb internal/gamepaddb: allow the standard layout mapping for any platforms 2022-02-06 03:38:02 +09:00
glfw internal/glfw: refactoring: keep the original API when possible 2022-02-09 19:36:47 +09:00
graphics internal/atlas, initernal/graphics: Better buffer size calculation 2021-10-31 17:20:39 +09:00
graphicscommand internal/graphicsdriver/metal: call PresentDrawable only when necessary 2022-02-22 01:37:13 +09:00
graphicsdriver internal/atlas: optimization: send premultiplied alpha from vertex to fragment shader. (#1996) 2022-02-24 02:27:50 +09:00
hooks internal/hooks: Enable to return error at suspend/resume audio 2021-05-04 23:09:01 +09:00
jsutil internal/jsutil: Optimization: Avoid using empty interface{} conversions 2021-10-30 18:53:21 +09:00
mipmap ebiten: refactoring: remove setScreenClearedEveryFrame 2022-02-13 20:40:46 +09:00
packing Remove dot imports from tests - Remove dot imports (#1837) 2021-10-02 19:58:48 +09:00
png internal/png: Regenerate 2021-08-28 03:14:54 +09:00
processtest all: reorder build tags in an alphabetical order 2022-02-08 15:49:15 +09:00
restorable internal/driver: rename to internal/graphicsdriver 2022-02-06 20:41:32 +09:00
shader internal/shader: ban the operator div on a matrix 2022-01-21 03:37:34 +09:00
shaderir internal/shaderir: bug fix: test failures 2022-01-12 01:57:06 +09:00
testing Remove flock from the tests 2021-08-22 18:34:35 +09:00
thread internal/thread: bug fix: do not close 'terminate' channel 2022-01-05 17:21:53 +09:00
ui internal/ui: refactoring 2022-02-14 03:39:02 +09:00
vibrate internal/ui: separate 'vibrate' part to internal/vibrate 2022-02-08 14:48:55 +09:00