diff --git a/packages/cultmath/src/CultMath/CultMath.csproj b/packages/cultmath/src/CultMath/CultMath.csproj index b4a6ce8b..0b1ee09f 100644 --- a/packages/cultmath/src/CultMath/CultMath.csproj +++ b/packages/cultmath/src/CultMath/CultMath.csproj @@ -10,7 +10,7 @@ GameCult.Math MIT AND MPL-2.0 - 0.2.4 + 0.3.0 Clean-room C# math shaped for HLSL-style renderer code. GameCult README.md diff --git a/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md b/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md index 871022f1..74c1992d 100644 --- a/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md +++ b/packages/cultmath/unity/org.gamecult.cultmath/CHANGELOG.md @@ -5,6 +5,37 @@ All notable changes to this package are documented in this file. Earlier releases (0.2.0-0.2.3) predate this package's changelog and are not backfilled here; see `docs/semver-policy.md` for why. +## [0.3.0] + +### Breaking + +- `math.snoise(float3)` and `math.snoise(float2)`, and their HLSL mirrors + `cultmath_snoise`, return different values. The kernel now follows + stegu/webgl-noise: the falloff `r^2` constant is 0.5 (was 0.6), the output + scale is 105 (was 42), and 2D and 3D share one permutation offset of +10. + This removes the value discontinuities the 3D kernel had at simplex cell + boundaries. Any content seeded from `snoise` changes; regenerate it when + you take this version. + +### Added + +- `math.smin_grad`: smooth minimum with gradient, for `float4` operands + carrying the gradient in `xyz` and the value in `w`. +- `math.cellular` and the `CultCellular` result struct: cellular (Worley) + noise returning the gradient and distance to the nearest feature points. +- `math.snoise_grad`, `math.fbm_grad` and `math.ridged_grad`: simplex noise, + fractal Brownian motion and ridged multifractal with analytic gradients, + returned as `float4` with the gradient in `xyz` and the value in `w`. +- `math.phacelle` and the `CultPhasor` result struct: Phacelle noise with + gradient. `math.Phacelle.cs`, `CultPhasor.cs` and + `Shaders/CultMath.Phacelle.hlsl` are MPL-2.0 (see + `THIRD-PARTY-NOTICES.md`). +- `BoundedLeastSquares`: an allocation-free, deterministic bounded + least-squares solver (`Solve`) with a status result and the input contract + documented on the type. +- The matching `cultmath_*` HLSL mirrors of the functions above in + `Shaders/CultMath.hlsl` and `Shaders/CultMath.Phacelle.hlsl`. + ## [0.2.4] ### Added diff --git a/packages/cultmath/unity/org.gamecult.cultmath/package.json b/packages/cultmath/unity/org.gamecult.cultmath/package.json index fc0e64c7..ed9ca931 100644 --- a/packages/cultmath/unity/org.gamecult.cultmath/package.json +++ b/packages/cultmath/unity/org.gamecult.cultmath/package.json @@ -1,7 +1,7 @@ { "name": "org.gamecult.cultmath", "displayName": "CultMath", - "version": "0.2.4", + "version": "0.3.0", "unity": "2021.3", "description": "Precompiled CultMath numeric primitives and matching HLSL semantics for GameCult Unity runtimes.", "license": "MPL-2.0",