Add stb_perlin_noise3_derivatives (return value matches stb_perlin_noise3_wrap_nonpow2, derivatives go into float* args, if not NULL).
Make stb_perlin_noise3_wrap_nonpow2 faster if all 3 wrap_* are powers of 2 (also applies to stb_perlin_noise3_derivatives, where it is more relevant). The return value remains the same, so does NOT match stb_perlin_noise3.
"Fix" stb_perlin_noise3_wrap_nonpow2crashing on large values of wrap_*, by turning them into 256.
Document stb_perlin_noise3_wrap_nonpow2.
Make code -Wconversion-clean. Personal preference, but should not hurt.
Reinstate the default C++ parameters for the original stb_perlin_noise3 (were not implemented in current version).
Remove the default C++ parameters for the rest of the functions from the docs (were not implemented in the code, and might be confusing if they were).
Make stb_perlin_noise3_internal static, still keep the name (with a single underscore).
NOTE: the return values of the existing API functions should match the current version, bitwise (assuming e.g. -mfpmath=sse).
See #1391.
Changelist:
stb_perlin_noise3_derivatives
(return value matchesstb_perlin_noise3_wrap_nonpow2
, derivatives go intofloat*
args, if notNULL
).stb_perlin_noise3_wrap_nonpow2
faster if all 3wrap_*
are powers of 2 (also applies tostb_perlin_noise3_derivatives
, where it is more relevant). The return value remains the same, so does NOT matchstb_perlin_noise3
.stb_perlin_noise3_wrap_nonpow2
crashing on large values ofwrap_*
, by turning them into 256.stb_perlin_noise3_wrap_nonpow2
.-Wconversion
-clean. Personal preference, but should not hurt.stb_perlin_noise3
(were not implemented in current version).stb_perlin_noise3_internal
static, still keep the name (with a single underscore).NOTE: the return values of the existing API functions should match the current version, bitwise (assuming e.g.
-mfpmath=sse
).Feedback is welcome.