1

Three.js でカスタム シェーダーを使用しようとしています。多くの例のようにやろうとしましたが、うまくいきません。私のコードは次のとおりです。

var vertex = "void main(){vec4 mvPosition = modelViewMatrix * vec4( position, 1.0    );gl_Position = projectionMatrix * mvPosition;}";
var fragment = "precision highp float;void main(void){gl_FragColor = vec4(0.0,1.0,0.0,1.0);}";
material = new THREE.ShaderMaterial({
                vertexShader: vertex,
                fragmentShader: fragment
        });
var mesh = new THREE.Mesh(geometry,material);

…そしてすべてが空白です。しかし、この素材を使用すると:

material = new THREE.MeshBasicMaterial({ color: 0xff0000, wireframe: true });

…すべてが完璧に機能します。どうしたの?

4

1 に答える 1

3

私は問題を見つけました:私は使用しなければなりませんでした:

 renderer = new THREE.WebGLRenderer();

それ以外の :

 renderer = new THREE.CanvasRenderer();
于 2012-10-08T09:17:59.653 に答える