【问题标题】:Using a custom vertex shader with THREE.Points使用带有 THREE.Points 的自定义顶点着色器
【发布时间】:2018-01-09 00:03:15
【问题描述】:

我看到 Threejs 有一个 Points Material 可以将几何图形绘制为点而不是三角形。但是,我想使用我自己的顶点着色器,使用着色器材质来操作顶点。在 WebGL 中,我想我可以使用 gl.Points 而不是 gl.Triangles 来调用 gl_drawArrays。如何告诉渲染器将几何图形绘制为点?有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: three.js


    【解决方案1】:

    一点补充,直到我将 gl_PointSize 添加到我的顶点着色器中,我才感到高兴:

    void main(){
        gl_PointSize = 100.;
        gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.);
    }
    

    GPU particle system example找到答案。

    【讨论】:

      【解决方案2】:

      在提出问题后立即找到了我的解决方案。只需使用您想要使用的任何几何体和着色器材质创建一个 THREE.Points 对象而不是 THREE.Mesh。

      THREE.Points(geometry, new THREE.ShaderMaterial(parameters));

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-17
        • 1970-01-01
        • 2015-07-09
        相关资源
        最近更新 更多