LYGIA, it's a granular and multi-language (GLSL, HLSL, WGSL, MSL and CUDA) shader library designed for performance and flexibility
This Patch version is focused on fixing and translating OkLab color spaces and Spectral mixing
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/compare/1.2.0...1.2.1
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/compare/1.1.7...1.2.0
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/compare/v1.1.6...1.1.7
lygia/morphological/marchingSquares.glsl
lygia/math/quat
*Support for subsurface scattering in lygia/lighting/pbr.glsl
lygia/space/windmillTile.glsl
, lygia/space/mirrorTile.glsl
, lygia/space/hexTile.glsl
, lygia/space/brickTile.glsl
, lygia/space/checkerTile.glsl
, lygia/space/triTile.glsl
and lygia/space/sqTile.glsl
lygia/filter/bilinear.glsl
lygia/math/aafract.glsl
and lygia/math/aafloor.glsl
lygia/distort/pincushion.glsl
lygia/morphological/alphaHashing.glsl
lygia/sample/zero
lygia/morphological/jumpFlood
https://lygia.xyz/v1.1.4/morphological/poissonFill
renamed to lygia/morphological/pyramid
lygia/lighting/interference.glsl
lygia/space/aspect.glsl
lygia/space/center.glsl
& lygia/space/uncenter.glsl
lygia/math/round.glsl
lygia/math/select.glsl
lygia/math/mod2.glsl
lygia/math/atan2.glsl
lygia/math/inside.glsl
lygia/sample/triplanar.glsl
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/compare/1.1.4...v1.1.6
sdf/opRepite.*
have been change for sdf/opRepeat.*
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/compare/1.1.2...1.1.4
filter/
folder use to have only one argument (the texture coordinates). This was inconsistent to sample functions MACROS on the sample/
folder. Ultimately one single argument force the user to remember the internal name for the texture (tex
) while having to two arguments (the texture and the coordinates), makes it more intuitive and consistent. So they went from being SOMETHING_SAMPLE_FNC(UV) to SOMETHING_SAMPLE_FNC(TEX, UV) https://github.com/patriciogonzalezvivo/lygia/commit/1efaad2ef1d7a76349dbfcc1e00b7f72a6fae410
pbr()
function all this MACROS pointing to the right uniforms need to be satisfy (most have correct defaults, but other defaults can't product correct behaviors.#define SURFACE_POSITION v_position
#define CAMERA_POSITION u_camera
#define IBL_LUMINANCE u_iblLuminance
#define LIGHT_DIRECTION u_light
#define LIGHT_COLOR u_lightColor
#define LIGHT_FALLOFF u_lightFalloff
#define LIGHT_INTENSITY u_lightIntensity
#define LIGHT_COORD v_lightCoord
sample.glsl
used by all sampling functions to support the right version on GLSL#if __VERSION__ >= 300
#define SAMPLER_FNC(TEX, UV) texture(TEX, UV)
#else
#define SAMPLER_FNC(TEX, UV) texture2D(TEX, UV)
#endif
pbrGlass()
and pbrClearCoat()
models
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/compare/1.0.0...v1.1.0
This is the first version of LYGIA! It's coming after it's public day view and some conversations around permanent commercial license in https://shader.zone , which soon will be possible by been hooked to specific versions of LYGIA.
As part of this release:
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/commits/1.0.0