球体上的顶点位移破坏了网格
Vertex displacement on sphere break the mesh
我正在尝试使用着色器在球体上制作简单的噪波效果。
我尝试使用 ashima's perlin noise 但效果不是我预期的,所以我基于 Phong 创建了自己的着色器。
这是我在顶点着色器中使用此代码得到的结果:
attribute int index;
uniform float time;
vec3 newPosition = position + normal * vec3(sin((time * 0.001) * float(index)) * 0.05);
gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0);
其中 index
是顶点的索引,time
当前经过的时间。
噪声效果正是我所期望的,但是球体网格是打开的...
如何保持这种效果并保持球体网格闭合?
您的球体很可能包含重复的顶点。摆脱它们,您的着色器将运行良好。或者摆脱你的着色器对 "index".
的依赖
我正在尝试使用着色器在球体上制作简单的噪波效果。 我尝试使用 ashima's perlin noise 但效果不是我预期的,所以我基于 Phong 创建了自己的着色器。
这是我在顶点着色器中使用此代码得到的结果:
attribute int index;
uniform float time;
vec3 newPosition = position + normal * vec3(sin((time * 0.001) * float(index)) * 0.05);
gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0);
其中 index
是顶点的索引,time
当前经过的时间。
噪声效果正是我所期望的,但是球体网格是打开的...
如何保持这种效果并保持球体网格闭合?
您的球体很可能包含重复的顶点。摆脱它们,您的着色器将运行良好。或者摆脱你的着色器对 "index".
的依赖