Merge CultMath 0.3.0 release (Asura 2a-ii-c)
snoise moves to the upstream kernel (breaking values, minor bump for 0.y), smin_grad, cellular, snoise/fbm/ridged gradients, Phacelle, BoundedLeastSquares. Unity package licence is MIT AND MPL-2.0. Soul holds: asura:verdict:cut-2a-ii-c.s3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
614fd44584
8 changed files with 50 additions and 9 deletions
|
|
@ -37,5 +37,5 @@ gradient and the exact pruning are new here.
|
|||
`src/CultMath/math.Phacelle.cs`, `src/CultMath/CultPhasor.cs`,
|
||||
`shaders/CultMath.Phacelle.hlsl` and the Unity copy of that include. Each
|
||||
carries the MPL-2.0 header and this attribution. The rest of CultMath is MIT,
|
||||
so the `GameCult.Math` NuGet package declares `MIT AND MPL-2.0` and ships this
|
||||
file. The Unity package as a whole is MPL-2.0.
|
||||
so the `GameCult.Math` NuGet package and the `org.gamecult.cultmath` Unity
|
||||
package both declare `MIT AND MPL-2.0` and ship this file.
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<PackageId>GameCult.Math</PackageId>
|
||||
<!-- MIT overall; math.Phacelle.cs and CultPhasor.cs (and the two Phacelle HLSL files) are MPL-2.0. -->
|
||||
<PackageLicenseExpression>MIT AND MPL-2.0</PackageLicenseExpression>
|
||||
<Version>0.2.4</Version>
|
||||
<Version>0.3.0</Version>
|
||||
<Description>Clean-room C# math shaped for HLSL-style renderer code.</Description>
|
||||
<Authors>GameCult</Authors>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,38 @@ 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. For 3D only, the falloff `r^2` constant is 0.5 (was 0.6)
|
||||
and the output scale is 105 (was 42). For 2D, the falloff constant (0.5) and
|
||||
the output scale (130) are unchanged. In both, the shared permutation offset
|
||||
is now +10 (was +1), which changes the values of both. 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
|
||||
|
|
|
|||
|
|
@ -1,8 +1,17 @@
|
|||
# CultMath License
|
||||
|
||||
CultMath is licensed under the Mozilla Public License 2.0 (`MPL-2.0`).
|
||||
CultMath is licensed under the MIT License (`MIT`), except for the Phacelle
|
||||
files, which are licensed under the Mozilla Public License 2.0 (`MPL-2.0`):
|
||||
|
||||
The complete license text is available from the Mozilla Foundation at
|
||||
- `Shaders/CultMath.Phacelle.hlsl`
|
||||
- the Phacelle sources compiled into `Runtime/Plugins/CultMath.dll`
|
||||
(`math.Phacelle.cs` and `CultPhasor.cs` in the GameCult/CultLib repository)
|
||||
|
||||
The package license expression is therefore `MIT AND MPL-2.0`, matching the
|
||||
`GameCult.Math` NuGet package. MPL-2.0 is file-level: it applies to those files
|
||||
and not to the rest of CultMath.
|
||||
|
||||
The MPL-2.0 text is available from the Mozilla Foundation at
|
||||
<https://www.mozilla.org/MPL/2.0/>. Source and modification history for the
|
||||
precompiled assembly in this package are available in the GameCult/CultLib
|
||||
repository (`packages/cultmath`) at the corresponding package tag.
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -37,5 +37,5 @@ gradient and the exact pruning are new here.
|
|||
`src/CultMath/math.Phacelle.cs`, `src/CultMath/CultPhasor.cs`,
|
||||
`shaders/CultMath.Phacelle.hlsl` and the Unity copy of that include. Each
|
||||
carries the MPL-2.0 header and this attribution. The rest of CultMath is MIT,
|
||||
so the `GameCult.Math` NuGet package declares `MIT AND MPL-2.0` and ships this
|
||||
file. The Unity package as a whole is MPL-2.0.
|
||||
so the `GameCult.Math` NuGet package and the `org.gamecult.cultmath` Unity
|
||||
package both declare `MIT AND MPL-2.0` and ship this file.
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"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",
|
||||
"license": "MIT AND MPL-2.0",
|
||||
"author": {
|
||||
"name": "GameCult"
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue