From 61cd8d99e6a3475eaf2bd28bc24892cf1aae0398 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 15 Aug 2023 07:29:58 -0400 Subject: WIP on the summer theme --- themes/src/shaders/sun_frag.cpp | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 themes/src/shaders/sun_frag.cpp (limited to 'themes/src/shaders/sun_frag.cpp') diff --git a/themes/src/shaders/sun_frag.cpp b/themes/src/shaders/sun_frag.cpp new file mode 100644 index 0000000..d5af4be --- /dev/null +++ b/themes/src/shaders/sun_frag.cpp @@ -0,0 +1,51 @@ +#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"; -- cgit v1.2.1