此shader畫的是一個圓形,顯示半圓的光亮點,圓弧可以旋轉。
頂點着色器:
attribute vec3 kzPosition;
uniform highp mat4 kzProjectionCameraWorldMatrix;
void main()
{
precision mediump float;
gl_Position = kzProjectionCameraWorldMatrix * vec4(kzPosition.xyz, 1.0);
}
片元着色器:
precision mediump float;
uniform float time;
uniform vec2 resolution;
void main(void){
vec2 p = (gl_FragCoord.xy * 2.0 - resolution) / min(resolution.x, resolution.y);
vec3 color = vec3(0.0, 0.3, 0.5);
float f = 0.0;
float PI = 3.141592;
for(float i = 0.0; i < 20.0; i++)
{
float s = sin(time*1.1 + i * PI / 10.0) * 0.80 ;
float c = cos(time*1.1 + i * PI / 10.0) * 0.80;
f += 0.001 / pow( pow(abs(p.x + c),2.) + pow(abs(p.y + s),2.),.534+0.5*sin(-time*3.321+i/3.14159265+s*c*0.1));
}
gl_FragColor = vec4(vec3( f*color), 0.0);
}
效果:
參數值: