-
Notifications
You must be signed in to change notification settings - Fork 73
Noise Library #46
Comments
should it be written in curv direcly ? I will look into, procedural is really cool. |
My current idea to implement a The best available algorithms for hashing floating point numbers use features that aren't currently in Curv. The algorithms that I have in mind extract the IEEE floating point representation (an array of bits) from a number, and represent that array of bits as an integer, and then perform bitwise and arithmetic operations on the integer, and then convert into a float between 0 and 1. It's rather complicated to add the necessary language features for doing this directly, so in order to make progress without getting hung up on a side issue, we will just implement Here are my current notes on how to implement the There are multiple algorithms referenced by the above notes, so I'd like to try implementing the most promising algorithms, and compare them for performance and randomness. Then pick the best one. If you are interested in implementing this, you can start by looking in the libcurv directory for the function named |
There is a new 'noise' library under construction in |
A noise function is a math function that hashes one or more numbers onto a random number or random vector with certain properties that create a desired visual effect. The simplest noise function gives us white noise. Cellular noise is the basis for stochastic Voronoi patterns, which can be used for "biological" looking patterns and lattices. Fractal noise is useful for creating procedural textures like smoke and marble, or for creating fractal landscapes.
Many of the examples in the
examples
directory contain noise functions. It would be good to have a standard noise library (lib.noise
), as a base for defining libraries of procedural textures and much more.To start with, we can port http://github.com/ashima/webgl-noise from GLSL to Curv.
Other resources:
* https://gist.github.com/patriciogonzalezvivo/670c22f3966e662d2f83
* https://www.shadertoy.com/results?query=tag%3Dnoise
The text was updated successfully, but these errors were encountered: