2

我在 three.js shadermaterial 中使用这个顶点着色器

script id="vs" type="x-shader/x-vertex">

  uniform sampler2D map;
  varying vec2 vUv;

  void main() {

    vUv = uv;
    vec4 color = texture2D( map, vUv );

    float r=color.r;
    float g=color.g;
    float b=color.b;                    


    gl_Position = projectionMatrix * modelViewMatrix ;
  }

</script>

问题是:如何将 r、g 和 b 的值传递给全局变量?

4

1 回答 1

0

从片段着色器获取结果的常用方法似乎是将场景渲染为纹理,然后从该纹理中读取(在您的 javascript 程序中)您想要操作的数据。在文档中查找“渲染到纹理”。

示例: http: //mrdoob.github.com/three.js/examples/webgl_rtt.html

于 2013-03-28T16:55:04.310 回答