|
@ -18,6 +18,7 @@ uniform float u_Time; |
|
|
out vec4 color; |
|
|
out vec4 color; |
|
|
|
|
|
|
|
|
#include "utils.glsl" |
|
|
#include "utils.glsl" |
|
|
|
|
|
#include "march_prolog.glsl" |
|
|
#include "hg_sdf.glsl" |
|
|
#include "hg_sdf.glsl" |
|
|
#include "colormap_cool.glsl" |
|
|
#include "colormap_cool.glsl" |
|
|
|
|
|
|
|
@ -26,11 +27,11 @@ vec3 ray_dir(float fov, vec2 uv) { |
|
|
return normalize(vec3(uv, z)); |
|
|
return normalize(vec3(uv, z)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
float scene_f(vec3 p) { |
|
|
|
|
|
float b1 = fBox(p, vec3(1)); |
|
|
|
|
|
float s2 = fSphere(p + vec3(1), 1.0); |
|
|
|
|
|
|
|
|
SceneResult scene_f(vec3 p) { |
|
|
|
|
|
SceneResult box = SceneResult(fBox(p, vec3(1)), 1.); |
|
|
|
|
|
SceneResult sphere = SceneResult(fSphere(p + vec3(1), 1.0), 2.); |
|
|
|
|
|
|
|
|
return fOpUnionRound(b1, s2, 0.5); |
|
|
|
|
|
|
|
|
return min_sr(box, sphere); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
vec3 estimate_scene_normal(vec3 p) { |
|
|
vec3 estimate_scene_normal(vec3 p) { |
|
|