fuckingtech/public/assets/glsl/lygia/lighting/raymarch/normal.wgsl
Elias Rhouzlane bf76c6b086 fix: code
2025-04-06 17:23:52 +02:00

21 lines
No EOL
619 B
WebGPU Shading Language

/*
contributors: Inigo Quiles
description: Calculate normals http://iquilezles.org/www/articles/normalsSDF/normalsSDF.htm
examples:
- /shaders/lighting_raymarching.frag
*/
// #include "map.wgls"
fn raymarchNormal( pos: vec3f ) -> vec3f {
let eps = 0.002;
let v1 = vec3f( 1.0,-1.0,-1.0);
let v2 = vec3f(-1.0,-1.0, 1.0);
let v3 = vec3f(-1.0, 1.0,-1.0);
let v4 = vec3f( 1.0, 1.0, 1.0);
return normalize( v1 * map( pos + v1 * eps ) +
v2 * map( pos + v2 * eps ) +
v3 * map( pos + v3 * eps ) +
v4 * map( pos + v4 * eps ) );
}