Skip to content

Instantly share code, notes, and snippets.

View mairod's full-sized avatar

Dorian Lods mairod

View GitHub Profile
@Fewes
Fewes / Tricubic.cginc
Last active May 7, 2024 07:16
Tricubic texture sampling using 8 trilinear samples
#ifndef TRICUBIC_INCLUDED
#define TRICUBIC_INCLUDED
float4 Cubic(float v)
{
float4 n = float4(1.0, 2.0, 3.0, 4.0) - v;
float4 s = n * n * n;
float x = s.x;
float y = s.y - 4.0 * s.x;
float z = s.z - 4.0 * s.y + 6.0 * s.x;
function primenoise(t: number) {
const primes = [2, 3, 5, 7, 11, 13, 17, 19];
let sum = 0;
for (const p of primes) {
sum += Math.sin(t / p);
}
return sum / primes.length;
}
@patriciogonzalezvivo
patriciogonzalezvivo / GLSL-Noise.md
Last active November 16, 2024 05:51
GLSL Noise Algorithms

Please consider using http://lygia.xyz instead of copy/pasting this functions. It expand suport for voronoi, voronoise, fbm, noise, worley, noise, derivatives and much more, through simple file dependencies. Take a look to https://github.com/patriciogonzalezvivo/lygia/tree/main/generative

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);