All Projects â†’ Erkaman â†’ Glsl Worley

Erkaman / Glsl Worley

Licence: other
Worley noise implementation for WebGL shaders

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Glsl Worley

Curtainsjs
curtains.js is a lightweight vanilla WebGL javascript library that turns HTML DOM elements into interactive textured planes.
Stars: ✭ 1,039 (+1474.24%)
Mutual labels:  webgl, glsl, shaders, shader
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+17624.24%)
Mutual labels:  webgl, glsl, shaders, shader
sparksl-noise
minimum proof of concept about procedural noise generation in SparkAR's shader language (SparkSL).
Stars: ✭ 16 (-75.76%)
Mutual labels:  shaders, glsl, shader, noise
Glsl Godrays
This module implements a volumetric light scattering effect(godrays)
Stars: ✭ 155 (+134.85%)
Mutual labels:  webgl, glsl, shaders, shader
webgl-noise-examples
examples about noise
Stars: ✭ 72 (+9.09%)
Mutual labels:  glsl, shader, noise
Tess Opt
Demonstration of how we can use tessellation shaders to make faster fragment shaders.
Stars: ✭ 13 (-80.3%)
Mutual labels:  glsl, shaders, shader
Month Of Shaders
One GLSL shader for every day of the month August
Stars: ✭ 12 (-81.82%)
Mutual labels:  webgl, glsl, shaders
Wagner
Effects composer for three.js
Stars: ✭ 930 (+1309.09%)
Mutual labels:  webgl, glsl, shaders
procedural-tileable-shaders
Collection of tileable procedural textures such as: cellular noise, fbm, voronoi, perlin and other.
Stars: ✭ 175 (+165.15%)
Mutual labels:  shaders, glsl, noise
ios-spritekit-shader-sandbox
👾 Collection of custom effects for SpriteKit implemented using GLSL/Metal shaders.
Stars: ✭ 63 (-4.55%)
Mutual labels:  shaders, glsl, shader
Langterm
🕹ī¸ WebGL-based VT220 emulator, made as a learning example and frontend for a text adventure
Stars: ✭ 35 (-46.97%)
Mutual labels:  webgl, glsl, shaders
glsl-cos-palette
glsl function for making cosine palettes
Stars: ✭ 26 (-60.61%)
Mutual labels:  shaders, glsl, shader
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-25.76%)
Mutual labels:  webgl, glsl, shaders
Glsl Grid
Draws an antialiased grid along the X/Y/Z direction of a mesh.
Stars: ✭ 57 (-13.64%)
Mutual labels:  webgl, glsl, shader
shaderplace
Real-time collaborative GLSL livecode editor
Stars: ✭ 43 (-34.85%)
Mutual labels:  shaders, glsl, shader
Webgl Fundamentals
WebGL lessons that start with the basics
Stars: ✭ 3,315 (+4922.73%)
Mutual labels:  webgl, glsl, shaders
Thebookofshaders
Step-by-step guide through the abstract and complex universe of Fragment Shaders.
Stars: ✭ 4,070 (+6066.67%)
Mutual labels:  glsl, shaders, shader
Shader Doodle
A friendly web-component for writing and rendering shaders.
Stars: ✭ 356 (+439.39%)
Mutual labels:  webgl, glsl, shaders
React Regl
React Fiber Reconciler Renderer for Regl WebGL
Stars: ✭ 171 (+159.09%)
Mutual labels:  webgl, glsl, shaders
Magicshader
🔮 Tiny helper for three.js to debug and write shaders
Stars: ✭ 205 (+210.61%)
Mutual labels:  webgl, glsl, shader

glsl-worley

From this module, a GLSL implementation of Worley Noise written by Stefan Gustavson can be imported.

A demo can be found here

Usage

This module provides four functions, and they can be exported as

#pragma glslify: worley3D = require(glsl-worley/worley3D.glsl)
#pragma glslify: worley2x2x2 = require(glsl-worley/worley2x2x2.glsl)
#pragma glslify: worley2D = require(glsl-worley/worley2D.glsl)
#pragma glslify: worley2x2 = require(glsl-worley/worley2x2.glsl)

And then they can easily be used to generate a texture in a shader by doing something like:

  vec2 F = worley3D(vPosition, 1.0, false);
  float F1 = F.x;
  float F2 = F.y;
  gl_FragColor = vec4(vec3(F2-F1), 1.0);

worley3D is defined as vec2 worley3D(vec3 P, float jitter, bool manhattanDistance). It returns a vec2 where x is F1 and y is F2(it is assumed that the reader knows the meaning of these two). P is the input point, jitter is the amount of jitter in the pattern, and if manhattanDistance is true, then a manhattan distance is used to generate the pattern, instead of the usual Euclidean distance(this basically makes the noise appear more "jagged").

The remaining three functions take the same arguments, except that in the case of worley2D and worley2x2, P is a vec2.

worley2x2x2 is basically a faster version of worley3D. But be aware that it has some artifacts. In the same manner, worley2x2 is basically a faster version of worley2D, but with some potential artifacts.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].