在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的值传递给全局变量?
答案 0 :(得分:0)
从片段着色器获取结果的常见方法似乎是将场景渲染为纹理,然后从此纹理中读取(在javascript程序中)要操作的数据。在文档中查找“渲染到纹理”。
示例:http://mrdoob.github.com/three.js/examples/webgl_rtt.html