Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Noise-Extras
Noise & procedural generation code pieces that I didn't feel needed whole repos all to themselves.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
/u/ppictures Perhaps the right solution is to use the 2D impl from that repo (there's no evidence my non-lawyer brain can find that 2D simplex has any patent issues), but 3D from here: https://github.com/KdotJPG/OpenSimplex2/tree/master/glsl (two of the actual OpenSimplex algos)
Here is the GitHub
Code for the domain rotation in Java is here. There are various wrappers. You would want one of the methods noise4_ImproveXYZ_ImproveXY, noise4_ImproveXYZ_ImproveXZ, or noise4_ImproveXYZ. You could copy the code from these wrappers directly, or convert it to matrix form to write it compactly in GLSL. For example, noise4_ImproveXYZ_ImproveXZ would be this. Note that I'm using left multiplication so the column-major constructor format can be rearranged to show up the way you would typically write the matrix when doing linear algebra if doing right multiplication.
Oh I see what you mean now. Not saying https://github.com/KdotJPG/OpenSimplex2 isn't safe, just that https://github.com/ashima/webgl-noise/blob/master/src/noise3D.glsl isn't. Ty for clarifying, makes perfect sense now!
There's an HLSL version in here https://github.com/Auburn/FastNoiseLite/blob/master/HLSL/FastNoiseLite.hlsl though it's based on code originally written for the CPU rather than the GPU. It could be worth figuring out which performs better.