inigo quilez's banner
inigo quilez's profile picture

inigo quilez

@iquilezles52,097 subscribers

Created Quill, Shadertoy, Pixar's Wondermoss. Math & Art Videos at * https://t.co/ugnT5WuRWq * https://t.co/w20vMC2I7d * https://t.co/SRkBTFQQLP

Shorts

Here's some cute bounding box functions for 2D shapes. A link to a longer list in the next post.

Here's some cute bounding box functions for 2D shapes. A link to a longer list in the next post.

175,330 görüntüleme

Just uploaded - coding a procedural tower of bricks:

Just uploaded - coding a procedural tower of bricks:

51,859 görüntüleme

Deforming a sphere with sine waves.

Deforming a sphere with sine waves.

86,098 görüntüleme

// Any three (non colinear) points define a circle // { .xy=center, .z=radius } vec3 getCircle( vec2 a, vec2 b, vec2 c ) { vec2 ba = b-a, cb = c-b, ac = a-c; float de = ba.x*cb.y-ba.y*cb.x; // zero if colinear vec2 ce = 0.5*(a+b+vec2(ba.y,-ba.x)*dot(ac,cb)/de); return vec3( ce, length(a-ce) ); }

// Any three (non colinear) points define a circle // { .xy=center, .z=radius } vec3 getCircle( vec2 a, vec2 b, vec2 c ) { vec2 ba = b-a, cb = c-b, ac = a-c; float de = ba.x*cb.y-ba.y*cb.x; // zero if colinear vec2 ce = 0.5*(a+b+vec2(ba.y,-ba.x)*dot(ac,cb)/de); return vec3( ce, length(a-ce) ); }

73,597 görüntüleme

Everybody is excited about fitting things to things, so here are 500 gaussians splatted at will (4000 bytes uncompressed). It's a remake of the experiment I wrote about in 2010, but with anisotropy in the gaussians, which makes it much better.

Everybody is excited about fitting things to things, so here are 500 gaussians splatted at will (4000 bytes uncompressed). It's a remake of the experiment I wrote about in 2010, but with anisotropy in the gaussians, which makes it much better.

57,371 görüntüleme

void mainImage(out vec4 c,vec2 p){for(c=vec4(p/iResolution.y,1,0)-.6;p.x-->0.;c*=.9+.1*length(cos(c.xyz+.7*c.x+vec3(0,0,iTime)))+.01*cos(4.*c.y));c=(c+c.z)*.1;} For Shadertoy golfers, this uses no temporary variables!

void mainImage(out vec4 c,vec2 p){for(c=vec4(p/iResolution.y,1,0)-.6;p.x-->0.;c*=.9+.1*length(cos(c.xyz+.7*c.x+vec3(0,0,iTime)))+.01*cos(4.*c.y));c=(c+c.z)*.1;} For Shadertoy golfers, this uses no temporary variables!

56,654 görüntüleme

The XOR of two SDFs, is also an SDFs; always:

The XOR of two SDFs, is also an SDFs; always:

42,884 görüntüleme

Shadertoy doodle - an exercise on raytracing 32,000 spheres without using a stack data structure.

Shadertoy doodle - an exercise on raytracing 32,000 spheres without using a stack data structure.

27,268 görüntüleme

Videos

Daha fazla içerik yok.