wtc-gl+webgl+wtc-math实现彩色柔性绵柔云朵动画效果代码
代码语言:html
所属分类:动画
代码描述:wtc-gl+webgl+wtc-math实现彩色柔性绵柔云朵动画效果代码
代码标签: wtc-gl webgl wtc-math 彩色 柔性 绵柔 云朵
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { background: #333; color: #fff; font-family: sans-serif; } body, html { margin: 0; overflow: hidden; padding: 0; } canvas { width:100%; height: 100%; } </style> </head> <body > <script type="text/fragment" id="fragShader">#version 300 es precision highp float; uniform vec2 u_resolution; uniform float u_time; uniform vec2 u_mouse; uniform sampler2D s_noise; uniform sampler2D b_noise; in vec2 v_uv; in vec3 c; out vec4 colour; vec2 getScreenSpace() { vec2 uv = (gl_FragCoord.xy - 0.5 * u_resolution.xy) / min(u_resolution.y, u_resolution.x); return uv; } void main() { vec2 uv = getScreenSpace(); uv *= 1.; colour = vec4(c,1); } </script> <script type="text/vertex" id="vertShader">#version 300 es in vec3 position; in vec2 uv; out vec2 v_uv; out vec3 c; uniform float u_time; uniform vec2 u_resolution; uniform vec2 u_position; uniform float u_zoom; vec3 pal( in float t, in vec3 a, in vec3 b, in vec3 c, in vec3 d ) { return a + b*cos( 6.28318*(c*t+d) ); } /* discontinuous pseudorandom uniformly distributed in [-0.5, +0.5]^3 */ vec3 random3(vec3 c) { float j = 4096.0*sin(dot(c,vec3(17.0, 59.4, 15.0))); vec3 r; r.z = fract(512.0*j); j *= .125; r.x = fract(512.0*j); j *= .125; r.y = fract(512.0*j); return r-0.5; } /* skew constants for 3d simplex functions */ const float F3 = 0.3333333; const float G3 = 0.1666667; /* 3d simplex noise */ float simplex3d(vec3 p) { /* 1. find current tetrahedron T and it's four vertices */ /* s, s+i1, s+i2, s+1.0 - absolute skewed (integer) coordinates of T vertices */ /* x, x1, x2, x3 - unskewed coordinates of p relative to each of T ve.........完整代码请登录后点击上方下载按钮下载查看
网友评论0