#include "sun_frag.h" const char* shader_sun_frag = "varying lowp vec4 VertexColor; \n" " \n" "#ifdef GL_ES \n" "precision mediump float; \n" "#endif \n" " \n" "uniform vec2 u_resolution; \n" " \n" "vec2 skew (vec2 st) { \n" " vec2 r = vec2(0.0); \n" " r.x = 1.1547*st.x; \n" " r.y = st.y+0.5*r.x; \n" " return r; \n" "} \n" " \n" "vec3 simplexGrid (vec2 st) { \n" " vec3 xyz = vec3(0.0); \n" " \n" " vec2 p = fract(skew(st)); \n" " if (p.x > p.y) { \n" " xyz.xy = 1.0-vec2(p.x,p.y-p.x); \n" " xyz.z = p.y; \n" " } else { \n" " xyz.yz = 1.0-vec2(p.x-p.y,p.y); \n" " xyz.x = p.x; \n" " } \n" " \n" " return fract(xyz); \n" "} \n" " \n" "void main() { \n" " vec2 st = gl_FragCoord.xy/u_resolution.xy; \n" " vec3 color = VertexColor.xyz \n" " \n" " // Scale the space to see the grid \n" " st *= 10.; \n" " \n" " // Show the 2D grid \n" " color.rg = fract(st); \n" " \n" " // Skew the 2D grid \n" " // color.rg = fract(skew(st)); \n" " \n" " // Subdivide the grid into to equilateral triangles \n" " // color = simplexGrid(st); \n" " \n" " gl_FragColor = vec4(color,1.0); \n" "} \n" " \n";