You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update flake nodes to standard cellnoise functions (#2842)
This changelist updates the implementations of `flake2d` and `flake3d` to use standard cellnoise functions across all shading languages, including a new implementation in OSL. The following specific changes are included:
- Replace the custom random number generator with standard cellnoise functions in all languages, using scalar cellnoise for density and priority rejection and vector cellnoise for flake rotation.
- Optimize `mx_cell_noise_vec3` in GLSL and `mx_cell_noise_float3` in MDL to share a single bjmix across all three output channels, matching the existing optimization in the native OSL version.
- Add OSL implementations of the `flake2d` and `flake3d` nodes, removing corresponding exclusions in the render test suite.
- Fix the GLSL rotation matrix to use correct sine and cosine terms in the Arvo fast rotation construction, aligning with the MDL implementation.
- Tighten the bounding sphere early-rejection test to the exact circumsphere of the flake cube.
Fixes issue #2819.
0 commit comments