]> git.tdb.fi Git - libs/gl.git/blobdiff - demos/desertpillars/data/sphere.glsl
Use PBR with IBL for the sphere in desert pillars
[libs/gl.git] / demos / desertpillars / data / sphere.glsl
index 6144acaadab85db545c2568dbc1214e6afb31c12..0dd872bd71e4dc800b728e69abdeb46dd6cdcdf2 100644 (file)
@@ -1,38 +1,2 @@
-import phong;
-
-uniform Morph
-{
-       float morph;
-};
-
-const float PI = 3.1415926535;
-const float OFFSET = 0.001;
-
-#pragma MSP stage(vertex)
-vec3 deform(vec3 p)
-{
-       vec3 d = cos(p*(2.0*PI)+morph)*0.05;
-       return p*(1.0+(d.x+d.y+d.z)*sin(morph*0.2));
-}
-
-vec4 get_vertex_position() override
-{
-       return vec4(deform(vertex.xyz), 1.0);
-}
-
-vec3 get_vertex_normal() override
-{
-       vec3 tangent;
-       if(abs(normal.x)>abs(normal.y))
-               tangent = normalize(vec3(-normal.z, 0.0, normal.x));
-       else
-               tangent = normalize(vec3(0.0, -normal.z, normal.y));
-       vec3 binormal = cross(normal, tangent);
-
-       vec3 xn = deform(vertex.xyz-tangent*OFFSET);
-       vec3 xp = deform(vertex.xyz+tangent*OFFSET);
-       vec3 yn = deform(vertex.xyz-binormal*OFFSET);
-       vec3 yp = deform(vertex.xyz+binormal*OFFSET);
-
-       return normalize(cross(xp-xn, yp-yn));
-}
+import cooktorrance;
+import sphere_morph;