3D / WebGL / Shader
运用WebGL在网页中渲染3D场景,利用GPU硬件加速实现像素级别的流体、噪波、光效等高级视觉效果。无需插件,纯浏览器原生渲染。
等离子体着色器
基于正弦波叠加的等离子体效果,通过多层不同频率和相位的色彩叠加,创造流动的能量场视觉效果。GPU并行计算每个像素的颜色值。
// WebGL 片段着色器核心
const fragmentShader = `
precision mediump float;
uniform float u_time;
uniform vec2 u_resolution;
void main() {
vec2 uv = gl_FragCoord.xy / u_resolution;
float plasma = sin(uv.x * 10.0 + u_time)
+ sin(uv.y * 10.0 + u_time)
+ sin((uv.x + uv.y) * 10.0 + u_time);
vec3 color = vec3(
0.5 + 0.5 * sin(plasma + 0.0),
0.5 + 0.5 * sin(plasma + 2.0),
0.5 + 0.5 * sin(plasma + 4.0)
);
gl_FragColor = vec4(color, 1.0);
}
`;
// 光线步进 (Ray Marching) 基础
float sdSphere(vec3 p, float r) { return length(p) - r; }
float map(vec3 p) { return sdSphere(p, 1.0); }
vec3 rayMarch(vec3 ro, vec3 rd) {
for(int i=0; i<64; i++) {
float d = map(ro);
if(d < 0.001) return vec3(1.0);
ro += rd * d;
}
return vec3(0.0);
}
← 返回索引