ebiten/internal/graphicsdriver
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
..
metal internal/atlas: optimization: send premultiplied alpha from vertex to fragment shader. (#1996) 2022-02-24 02:27:50 +09:00
opengl internal/atlas: optimization: send premultiplied alpha from vertex to fragment shader. (#1996) 2022-02-24 02:27:50 +09:00
compositemode.go internal/driver: rename to internal/graphicsdriver 2022-02-06 20:41:32 +09:00
filter.go internal/driver: rename to internal/graphicsdriver 2022-02-06 20:41:32 +09:00
graphics.go internal/graphicsdriver/metal: call PresentDrawable only when necessary 2022-02-22 01:37:13 +09:00