GLSL片段着色器修改:正弦波方向、颜色与背景调整
修改后的GLSL片段着色器代码
precision mediump float; uniform vec2 u_resolution; uniform vec2 u_mouse; uniform float u_time; void main() { vec2 uv = (gl_FragCoord.xy - u_resolution * 0.7) / max(u_resolution.x, u_resolution.y) * 3.0; uv *= 1.0; float e = 0.0; for (float i=3.0;i<=15.0;i+=1.0) { e += 0.007/abs( (i/15.) + sin((u_time/2.0) + 0.15*i*(uv.y) * (cos(i/4.0 + (u_time / 2.0) + uv.y*2.2))) + 2.5*uv.y); gl_FragColor = vec4(vec3(1.0 - e/1.6), 1.0); } }
关键改动说明
- 修正语法错误:原代码首行
eprecision漏写字母p,改为标准的precision mediump float; - 颜色系统反转:将原蓝色线条+黑色背景调整为黑色线条+白色背景,通过
1.0 - e/1.6统一反转RGB通道值,实现纯黑线条效果 - 正弦波方向切换:把所有涉及水平方向(
uv.x)的计算替换为垂直方向(uv.y),让波浪沿Y轴垂直运动
内容的提问来源于stack exchange,提问作者Wimal Weerawansa
相关产品推荐
相关产品推荐

