【发布时间】:2012-07-09 00:17:28
【问题描述】:
首先我是 glsl 和 Three.js 的初学者 :)。
这是我的shader1的顶点和片段着色器(很简单):
void main() {
gl_Position = projectionMatrix * modelViewMatrix * vec4( position,1.0);
}
void main() {
gl_FragColor = vec4(1.0,0.0,0.0,1.0);
}
在我的 init() 函数中有:
var geometry = new THREE.CubeGeometry(2, 2, 2);
var material = new THREE.MeshLambertMaterial({color: 0xffaaff});
cube = new THREE.Mesh(geometry, material);
scene.add(cube);
var effect1 = new THREE.ShaderPass(THREE.ShaderExtras[ "shader1" ]);
effect1.renderToScreen=true;
composer = new THREE.EffectComposer( renderer);
composer.addPass(renderScene);
composer.addPass(effect1);
在我的函数 render() 中:
Renderer.clear() ;
composer.render();
但最后我的所有屏幕都是红色的,不仅仅是我的立方体。怎么了?
谢谢。
【问题讨论】:
-
我忘了打招呼:)