Releases: patriciogonzalezvivo/lygia
1.3.0
This is probably the biggest version release yet and is mostly thanks to the amazing work of @shadielhajj!
Thank you for doing a deep re-architecture of the PBR model and Raymarching pipeline!
Also thanks to @vade for starting the Metal translation and implementing a better color blending set of functions that account for alpha values.
Lastly thank you @sdedovic and @josephreisinger for advancing the translation to WGSL.
What's Changed
- Polar coordinates by @shadielhajj in #183
- Changes to raymarching camera FOV by @shadielhajj in #181
- Raymarching Fog by @shadielhajj in #184
- Fixes and improvements to environment sampling (PBR) by @shadielhajj in #185
- Fixed Raymarching AO by @shadielhajj in #186
- Added AOV output support to the Raymarching engine by @shadielhajj in #188
- WebGL compat by @shadielhajj in #189
- add: srandom, noised wgsl by @sdedovic in #180
- Overhaul of the Raymarching material system. by @shadielhajj in #190
- HLSL Fixes by @shadielhajj in #192
- Fixes and improvements to lookAt by @shadielhajj in #193
- Fixed and optimised rotate functions. by @shadielhajj in #191
- WIP: implmenet wavelet, worley in WGSL and update docs by @sdedovic in #194
- fix bug in wavelet impl by @sdedovic in #195
- fix bug in worley impl by @sdedovic in #196
- Feature/metal - some sampler + filter additions by @vade in #197
- Improved Raymarching view sub-system. by @shadielhajj in #198
- Feature/metal - SDF / Space / Math by @vade in #199
- Fixed viewMatrix issue (GLSL) and Raymarching bug (HLSL) by @shadielhajj in #203
- More Metal stuff by @vade in #200
- Update White Balance - Metal Bug Fix by @vade in #207
- Multilanguage parity and ideas for contribution by @patriciogonzalezvivo in #204
- README: Fix typo resovle -> resolve by @martinRenou in #187
- Fixed Ambient Occlusion in PBR by @shadielhajj in #210
- proper remove of raymarchCamera by @patriciogonzalezvivo in #209
- Overhaul of volume Raymarching by @shadielhajj in #206
- Refactor of lighting interfaces by @shadielhajj in #213
- Minor param refactoring in Raymarch by @shadielhajj in #212
- Cleaning small details for consistency by @patriciogonzalezvivo in #215
- testing/benchmarking on a RPI CM 4 issues by @patriciogonzalezvivo in #216
- Changes for compiling on RPI4 by @patriciogonzalezvivo in #214
- PBR Overhaul by @shadielhajj in #220
- Patricio/temporal tonemaps by @patriciogonzalezvivo in #221
- Feature/metal blending by @vade in #222
- Color Composite translation and Math Compat Polyfill by @patriciogonzalezvivo in #224
- debug vectors and matrices using digits by @patriciogonzalezvivo in #227
- add point and matrix draw functions by @patriciogonzalezvivo in #228
- ColorPicker by @patriciogonzalezvivo in #229
- Port some glsl shaders over to wgsl by @josephreisinger in #233
- Tweaks and clips to make things work on ThreeJS by @patriciogonzalezvivo in #231
- More 3D debuging widgets by @patriciogonzalezvivo in #232
New Contributors
- @sdedovic made their first contribution in #180
- @martinRenou made their first contribution in #187
- @josephreisinger made their first contribution in #233
Full Changelog: 1.2.3...1.3.0
2024-10-22.19-31-14.mp4
2024-10-22.19-32-07.mp4
2024-10-22.19-35-12.mp4
2024-10-22.19-38-16.mp4
1.2.3
What's Changed
-
Improve color mixing for SDF smooth union and subtraction operations by @bryndsey in #141
-
Fixed hlsl implementation of color/palette/hue by @shadielhajj in #142
-
Fixed typo bugs in hlsl versions of yiq2rgb and hsv2rgb by @shadielhajj in #143
-
Port of lighting/iridescence to hlsl. by @shadielhajj in #144
-
Fixed hlsl implementation of filter/bilateral. by @shadielhajj in #145
-
Fixed pbrLittle indirect diffuse. by @shadielhajj in #146
-
Aligned HLSL version of lighting/specular/cookTorrance with GLSL version by @shadielhajj in #147
-
Various ports and fixes (HLSL) by @shadielhajj in #148
-
Straighforward port of lighting/transparent.glsl to hlsl by @shadielhajj in #149
-
Roughness-adjusted fresnel. by @shadielhajj in #150
-
Complete overhaul of the HLSL PBR shader to align with the GLSL Version. by @shadielhajj in #151
-
PBR fixes and visual tweaks. by @shadielhajj in #152
- Updated pbrClearCoat to bring it in line with the latest glsl version. by @shadielhajj in #153
- envMap automatic MIP level (HLSL Only) by @shadielhajj in #154
- Various HLSL bugfixes by @shadielhajj in #155
- fcos(x): band-limited cos(x), GLSL and HLSL by @shadielhajj in #156
cos(x)
wave aliasing at high frequencies
- Fixed color space conversion in HLSL by @shadielhajj in #157
- Added more missing static keywords (HLSL only). by @shadielhajj in #159
- Band-limited aafract (2nd approach) by @shadielhajj in #160
Without band-limiting:
-
Anti-aliased triangle wave (GLSL and HLSL) by @shadielhajj in #162
-
Added distance metrics and Worley distance option (HLSL, GLSL) by @shadielhajj in #161
-
Moar Noise, plz! by @shadielhajj in #163
-
Updates to pbrGlass and pbr (HLSL) by @shadielhajj in #164
-
Updated HLSL samplers to DirectX 10 syntax by @shadielhajj in #166
-
New feature: calculate normal from height map (GLSL and HLSL) by @shadielhajj in #167
-
Fixed HLSL version of sample/derivative by @shadielhajj in #168
-
Renames and includes by @shadielhajj in #169
-
Fixed raymarching camera (HLSL) by @shadielhajj in #170
-
Exposed raymarching distance params (HLSL) by @shadielhajj in #172
-
Improved raymarching shadow quality (HLSL and GLSL) by @shadielhajj in #174
Before (notice the unrealistic shadow of the prism)
- Fixed broken pbrLittle.hlsl and updated to match glsl version by @shadielhajj in #175
- Added shadow and support to Raymarched PBR by @shadielhajj in #176
Raymarched PBR with soft shadows
Raymarched PBR with soft shadows and AO
- Various HLSL SDF Fixes by @shadielhajj in #177
- envMap automatic MIP level (GLSL) by @shadielhajj in #178
- Added missing include to pbrClearCoat.hlsl by @shadielhajj in #179
- PBR: fallback to environment sampling if Spherical Harmonics are not present. by @shadielhajj in #182
New Contributors
- @bryndsey made their first contribution in #141
- @vade made their first contribution in #140
- @dmnsgn made their first contribution in #171
Full Changelog: 1.2.2...1.2.3
v1.2.2
What's Changed
- Added RYB to/from RGB color space conversion
- Added RYB from HSV color space conversion
- hueShiftRYB: shift hue in RYB color space
- mixRYB: color interpolation between 2, 3 and 4 colors in RYB color space
- Sanso-Wada Palette as color values, dyads, triads and tetrads
- linear interpolation between palettes (arrays of colors)
- Color pigments catalog for Windsor&Newton, Gamblin, Rembrandt, Golden and Liquitex for oil, acrylics, gouache and watercolor mediums.
- Zorn palette
sample.[glsl|hlsl]
was renamed tosampler.glsl|hlsl
andsample.[glsl|hlsl]
was added as a index for the entiresample/
folder to be consistent with the pattern on other similar files likemath.glsl
,color/blend.glsl
, etc.- Update math.glsl by @jane00 in #131
- fix some hlsl include to glsl in triangle.glsl and make_vec3 to vec3 by @jane00 in #133
- Typo fix for float2 random2(float2 p) function by @Zvmcevap in #135
- Fix 'smooth' reserved keyword #130 by @UstymUkhman in #136
- Capitalize first character of descriptions by @bonsak in #124
New Contributors
- @jane00 made their first contribution in #131
- @Zvmcevap made their first contribution in #135
- @bonsak made their first contribution in #124
Full Changelog: 1.2.1...1.2.2
1.2.1
What's Changed
This Patch version is focused on fixing and translating OkLab color spaces and Spectral mixing
- Fix missing return statemtent for rgb2oklab. by @patternspandemic in #125
- Fix undeclared identifier in srgb2lch funcs. by @patternspandemic in #126
- Fix srgb2xyz. by @patternspandemic in #127
- Fix broken Oklab color space matrices and conversions. by @patternspandemic in #129
New Contributors
- @patternspandemic made their first contribution in #125
Full Changelog: 1.2.0...1.2.1
1.2.0
What's Changed
- ColorChecker / Spyder Checker
* Better PBR material with Iridescent / glass properties
- Heatmap and OpticalFlow sampler
- Request to add a kaleidoscopic space transformation by @marioecg in #111
- Update windmillTile.glsl by @j-el-kl in #112
- Update kaleidoscope.glsl by @edap in #116
- Update kaleidoscope.hlsl by @edap in #115
- add include sqTile by @j-el-kl in #113
- Update blend.glsl by @j-el-kl in #117
- Fix: undeclared 'color' identifier in vibrance.glsl by @morekid in #121
- fix typo in sharpen/fast.glsl by @couleurs in #123
New Contributors
- @marioecg made their first contribution in #111
- @j-el-kl made their first contribution in #112
- @edap made their first contribution in #116
- @morekid made their first contribution in #121
Full Changelog: 1.1.7...1.2.0
v1.1.7
What's Changed
- new blending functions: hue, sat, lum, color by @couleurs in #109
- Update voronoise.glsl by @loreno-heer in #110
New Contributors
- @loreno-heer made their first contribution in #110
Full Changelog: v1.1.6...1.1.7
v1.1.6
What's New?
- @pajama is working on bringing HLSL to parity with GLSL
- @kfahn22 added:
- @guidoschmidt added
lygia/morphological/marchingSquares.glsl
- @patriciogonzalezvivo added:
- Quaternions
lygia/math/quat
*Support for subsurface scattering inlygia/lighting/pbr.glsl
- New tiling modes
lygia/space/windmillTile.glsl
,lygia/space/mirrorTile.glsl
,lygia/space/hexTile.glsl
,lygia/space/brickTile.glsl
,lygia/space/checkerTile.glsl
,lygia/space/triTile.glsl
andlygia/space/sqTile.glsl
- New bilineal (o Barlett) filter
lygia/filter/bilinear.glsl
- AntiAliased functions
lygia/math/aafract.glsl
andlygia/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 tolygia/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
- Quaternions
What's Changed
- Raymarch Glass Feature 🎉 by @ammein in #67
- Raymarch Glass Reflections Fix by @ammein in #68
- Update README.md to add degit instruction by @cdaein in #71
- Update README.md to add 2d integration examples by @cdaein in #73
- Fix broken include paths by @MoltenCoffee in #74
- Fix/hlsl by @tomorrowevening in #75
- Fix/hlsl changes by @tomorrowevening in #76
- Hotfix Raymarch Glass by @ammein in #70
- Add supershapeSDF by @kfahn22 in #77
- Fix 1D random use of RANDOM_SINLESS by @JeffreyPalmer in #78
- Add mandelbulbSDF and spherical coord functions by @kfahn22 in #79
- Incorporate superformula into supershape by @kfahn22 in #81
- update code to fix naming of spherical function by @kfahn22 in #82
- Update mandelbulb & sdf files by @kfahn22 in #83
- Add gearSDF by @kfahn22 in #85
- Add example by @kfahn22 in #87
- Add Julia set SDF by @kfahn22 in #89
- Add koch sdf by @kfahn22 in #88
- Replace one value for c and add gist by @kfahn22 in #91
- fix typo on SAMPLER_FNC function call by @nicolevella in #93
- Increase size of returned triangle by @kfahn22 in #94
- ADD/sample/marchingSquares.glsl: first draft of marching squares algorithm by @guidoschmidt in #90
- Update opOnion.glsl by @reino-dad in #98
- fix: remove trailing commas in scale3d.glsl by @devlzcode in #100
- removed unterminated define in rgb2yiq.hlsl by @pajama in #101
- fix for math/mix.hlsl not compiling in unity by @pajama in #102
- redefined epsilon in colliding files by @pajama in #104
- some more hlsl fixes for unity by @pajama in #105
- more hlsl unity fixes by @pajama in #106
- more hlsl fixes for unity. got through the lighting examples by @pajama in #107
New Contributors
- @cdaein made their first contribution in #71
- @MoltenCoffee made their first contribution in #74
- @tomorrowevening made their first contribution in #75
- @kfahn22 made their first contribution in #77
- @JeffreyPalmer made their first contribution in #78
- @guidoschmidt made their first contribution in #90
- @reino-dad made their first contribution in #98
- @devlzcode made their first contribution in #100
- @pajama made their first contribution in #101
Full Changelog: 1.1.4...v1.1.6
1.1.4
1.1.0
What's Changed
- WARNING! BREAKING CHANGE! most sample functions MACROS inside
filter/
folder use to have only one argument (the texture coordinates). This was inconsistent to sample functions MACROS on thesample/
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) 1efaad2 - Removing automatic definition of glslViewer variables and choosing a more declarative approach. For example to use the
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
- Default SURFACE_POSITION to vec3(0.0) by @gzozulin in #37
- Update pbr.glsl by @gzozulin in #36
- Adding
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
- Adding morphological folder for erosion, dilation, alphaFill and poissonFill.
- adding sample functions to fake different filter modes like NEAREST, BICUBIC, SMOOTH (by Inigo Quiles)
- he have been adding sample functions to fake different wrap modes like REPEAT, CLAMP2EDGE, MIRROR and UNTILE (also by @iquilezles )
- Adding new
pbrGlass()
andpbrClearCoat()
models
- Adding spheremaps (or matcap) function
- Adding Iridescence functions
- New integrations to TouchDesigner implementation by @LeithBA in #28
- New integrations to React Template by @eduardfossas in #30
- New integrations to TouchDesigner (static) version references by @vectorsize in #33
- Corrected Leith's name and website url by @LeithBA in #35
New Contributors
- @LeithBA made their first contribution in #28
- @eduardfossas made their first contribution in #30
- @vectorsize made their first contribution in #33
- @gzozulin made their first contribution in #36
Full Changelog: 1.0.0...v1.1.0
1.0.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:
- dedicated website for LYGIA was created https://lygia.xyz/ which is also able to serve and resolve internal dependencies for lygia files.
- An automatic Patron License was created which automatically adds contributors and sponsors
- Multiple integrations examples have been created:
What's Changed
- flaot -> float typo by @kylemcdonald in #3
- Added polar to Decart and Decart to polar space transformations by @illus0r in #1
- Fix minor typo in random helpers by @totalgee in #4
- Fixes some typos by @gsimone in #5
- There were a few remaining glsl vec4 by @couleurs in #6
- mod doesn't exist in hlsl, need to use fmod by @couleurs in #7
- wrong define statements in sine.hlsl by @couleurs in #8
- fix define statements in sine.glsl by @couleurs in #9
- Add HLSL version of grad4, initializer fix in random.hlsl by @SabinT in #10
- Some HLSL type fixes in code + comments by @SabinT in #11
- Fix typo in hueShift.glsl/hlsl by @SabinT in #12
- Add float version of HLSL mod by @SabinT in #13
- Fix relative path of import by @murilopolese in #14
- Updated to use the define LIGHT_COLOR by @chickenSandwich in #18
- Fix typo in blendLinearLigth -> blendLinearLight by @soundasleep in #20
- fix small typo by @arzafran in #21
- Update Readme.md by @UstymUkhman in #22
- Fix a bunch of small typos on README.md by @jesi-rgb in #23
- atmosphere by @patriciogonzalezvivo in #24
- Convert raymarching GLSL to HLSL by @thnewlands in #27
New Contributors
- @kylemcdonald made their first contribution in #3
- @illus0r made their first contribution in #1
- @totalgee made their first contribution in #4
- @gsimone made their first contribution in #5
- @couleurs made their first contribution in #6
- @SabinT made their first contribution in #10
- @murilopolese made their first contribution in #14
- @chickenSandwich made their first contribution in #18
- @soundasleep made their first contribution in #20
- @arzafran made their first contribution in #21
- @UstymUkhman made their first contribution in #22
- @jesi-rgb made their first contribution in #23
- @patriciogonzalezvivo made their first contribution in #24
- @thnewlands made their first contribution in #27
Full Changelog: https://github.com/patriciogonzalezvivo/lygia/commits/1.0.0