Article index:
- 1 – Raymarching, Distance functions
- 2 – GLSL framework for Raymarching
- 3 – Raymarching: Floor + Sphere
- 4 – Raymarching: Floor + Torus
- 5 – Raymarching: Floor + Rounded Box
- 6 – Raymarching: Floor + Union of Rounded Box and Sphere
- 7 – Raymarching: Floor + Rounded Box minus Sphere
- 8 – Raymarching: Primitive Blending
- 9 – Raymarching: Primitive Repetition
9 – Raymarching: Primitive Repetition
Raymarching: floor + rounded box repetition
Maybe one of the most mysterious distance function for me. Here is the function that repeats the rounded box:
vec2 op_rep(vec3 p, vec3 c) { vec3 q = mod(p,c)-0.5*c; return obj_round_box(q); }
And the distance_to_obj() function:
vec2 distance_to_obj(in vec3 p) { return obj_union(obj_floor(p), op_rep(p, vec3(8.0, 8.0, 8.0))); }
Raymarching: floor + torus repetition
References
- Raymarching
- GPU Ray Marching with Distance Fields
- Simple raymarching sandbox with camera by Paulo Falcao, GLSL Sandbox
- Sea Noise by Paulo Falcao, GLSL Sandbox
Article index:
- 1 – Raymarching, Distance functions
- 2 – GLSL framework for Raymarching
- 3 – Raymarching: Floor + Sphere
- 4 – Raymarching: Floor + Torus
- 5 – Raymarching: Floor + Rounded Box
- 6 – Raymarching: Floor + Union of Rounded Box and Sphere
- 7 – Raymarching: Floor + Rounded Box minus Sphere
- 8 – Raymarching: Primitive Blending
- 9 – Raymarching: Primitive Repetition
Hey. Just found this. Came across iq’s stuff a while ago, but being a noob I couldn’t do anything with it.
Then while rediscovering GLSL & iq’s website, I found this awesome resource!
But here’s the thing, I can’t get it to work. ;o)
I eventually found 2 errors in the code. Here are the fixes:
line 97: d.x-distance_to_obj(p-e.yyx).x); // had an extra “)”
line 98: N = normalize(n); // was missing “;”
I’m trying to use GLSL Hacker 0.6.0.0 & Blender 2.69 using this tutorial:
http://en.wikibooks.org/wiki/GLSL_Programming/Blender/Minimal_Shader
Any help?
peace & 42
I too found the errors but cant get any of this to work. There are too few good examples online, it would be nice to get one working
I’m fixing the errors and I upload the code samples asap!
Code samples have been updated for the latest DEV version (0.6.3.11) and a new demo about menger sponge has been added:
http://www.geeks3d.com/20140201/glsl-menger-sponge-raymarching-code-samples-updated/