まず、私は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();
しかし、最終的には、キューブだけでなく、すべての画面が赤になります。どうしたの ?
ありがとうございました。