Giter Club home page Giter Club logo

procedural-tileable-shaders's Introduction

Tileable procedural textures

Collection of tileable procedural textures:

  • value noise (with derivatives and gradient rotation)
  • gradient noise (with derivatives)
  • perlin noise (with gradient rotation)
  • checkerboard (diagonal)
  • patterns: tile weaves, cross, waves, stairs
  • celullar noise (with derivatives and phase)
  • metaballs (variant of cellular noise)
  • voronoi (edges, cells)
  • fbms (value, perlin, voronoi and derivative)
  • domain warping (fbnm and gradient curl)

Preview

shadertoy

Classic Noise

Random, Value Noise, Value Noise Derivatives and Grid Noise variant

value-noise

Functions: hash3D (from 1D to 4D), noise, noised and gridNoise.

Gradient Noise (Derivatives and configurable Disorder)

gradient-noise

Functions: gradientNoise, gradientNoised and gradientNoiseDisorder.

Perlin Noise (Derivatives and variant)

perlin-noise

Functions: perlinNoise, perlinNoised and organicNoise.

Worley Noise

Cellular Noise (F1 and F2), Metaballs and Cellular Noise Derivatives

cellular-noise

Functions: cellularNoise (F1), cellularNoise (F2), metaballs and cellularNoised.

Cellular Noise metrics (Manhattan, Chebyshev and Triangular)

cellular-noise-metrics

Functions: cellularNoise.

Voronoi (minimum edge distance, Cracks, random pattern and IDs)

preview_voronoi

Functions: voronoi, cracks, voronoiPattern and voronoi (tile position of the cell).

Patterns

Checkerboard (plus 45 angle), Random Lines and Dots

preview_patterns_0

Functions: checkerboard, checkerboard45, randomLines and dotsNoise.

Metaballs, Line Waves, Stairs and Cross Pattern

preview_patterns_1

Functions: metaballs, wavePattern, stairsPattern and crossPattern.

Tile weaves with normal (Vesica and Capsule)

preview_tile_weaves

Functions: tileWeave.

FBM

Value Noise, Perlin Noise, Grid Noise and Metaballs

fbms

Functions: fbm, fbmPerlin (mode == 4u), fbmGrid and fbmMetaballs.

multi-value-fbm

Functions: fbmMulti.

Sloped FBMs with derivatives (Value and Perlin)

fbm-sloped

Functions: fbmd and fbmdPerlin.

Perlin FBMs (Ridge Multiply, Ridge Add, Perlin Multiply and Perlin Add)

fbm-perlin

Functions: fbmPerlin (mode: 0u, 1u, 2u, 3u).

Image FBMs with derivatives (can be used with image inputs, both grayscale and color)

fbm-image

Functions: fbmGrayscaleImaged and fbmImage.

Domain warp

Warping of FBMs (Value noise, Negative Value Noise, Perlin Noise and QR warping)

warp-fbms

Functions: fbmWarp and fbmPerlinWarp.

Q and R factors

The Q and R values of the warp can be used to mix different patterns/colors:

    vec2 q, r;
    float f = fbmWarp(p, scale, factors, octaves, shifts, phase, gain, vec2(lacunarity), slopeness, 0.0, true, 0.0, q, r);
        
    col = mix(vec3(0.1,0.5,0.8), vec3(0.6,0.6,0.3), clamp((f * f) * 8.0, 0.0, 1.0));
    col = mix(col, vec3(0.0, 0.1, 0.05), length(q));
    col = mix(col, vec3(0.8, 0.8, 0.8), r.x);
    col = mix(col, col * vec3(0.8, 0.4, 0.2), 0.5 * pow(length(r), 4.0));

fbm-warp-factors

Warping variants of Perlin Noise (using dervatives and curl)

warp-perlin

Functions: perlinNoiseWarp and curlWarp.

Contributing

Based on:

Bug reports and pull requests are welcome on GitHub at https://github.com/tuxalin/procedural-tileable-shaders.

License

The code is available as open source under the terms of the MIT License.

procedural-tileable-shaders's People

Contributors

tuxalin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.