我看到Threejs有一个Points Material,可以将几何图形绘制为点而不是三角形。但是,我想使用自己的顶点着色器(Shader Material)来操纵顶点。在WebGL中,我想我可以使用gl.Points而不是gl.Triangles来调用gl_drawArrays。如何告诉渲染器将几何图形绘制为点?有没有更好的方法来解决这个问题?
在提出问题后立即找到了我的解决方案。只需使用您想要使用的任何几何体和着色器材质创建一个 THREE.Points 对象而不是 THREE.Mesh 。
三点(几何,新三。ShaderMaterial(参数));
一点点添加,直到将gl_PointSize添加到顶点着色器中之后,我才感到高兴:
void main(){
gl_PointSize = 100.;
gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.);
}
Run Code Online (Sandbox Code Playgroud)
在GPU粒子系统示例中找到了答案。
| 归档时间: |
|
| 查看次数: |
999 次 |
| 最近记录: |