【发布时间】:2016-06-28 22:17:49
【问题描述】:
为了学习顶点/片段着色器,我决定通过更新顶点着色器中一个点的 y 位置并使用 Three.js PointCloud 再次将其重置为动画来创建一个简单的雨效果。我让它在屏幕上动画一次,但在重置 y 位置后卡住了。
uniform float size;
uniform float delta;
varying float vOpacity;
varying float vTexture;
void main() {
vOpacity = opacity;
vTexture = texture;
gl_PointSize = 164.0;
vec3 p = position;
vec3 p = position;
p.y -= delta * 50.0;
vec4 mvPosition = modelViewMatrix * vec4(1.0 * p, 1.0 );
vec4 nPos = projectionMatrix * mvPosition;
if(nPos.y < -200.0){
nPos.y = 100.0;
}
gl_Position = nPos;
}
有什么想法吗?谢谢
【问题讨论】:
-
创建一个jsfiddle
-
或post it inline 可以说比小提琴更好
标签: three.js webgl shader vertex-shader