0

ユーザーのブラウザーが WebGL をサポートしていない場合、CanvasRenderer にフォールバックします。パフォーマンス上の理由から、CanvasRenderer を使用するときにワイヤフレームのみのレンダリングを行いたいと考えています。ただし、overrideMaterial を使用することはできません。次のように WebGLRendererer とうまく連携しています。

scene.overrideMaterial =  new THREE.MeshBasicMaterial({ color: 0xffffff, wireframe: true });  

CanvasRenderer では、コードが非常に単純なモデルを除いて重すぎるため、これは効果がないように見え、FireFox が応答しなくなります。

以前は、シーン ジオメトリをトラバースして「実際の」マテリアルを上書きするだけで、すべてのオブジェクト マテリアルをワイヤフレーム マテリアルに直接置き換えていました。この種の機能は機能しますが、レンダリングされていなくてもモデルにマテリアル情報を表示したいので、マテリアルとオブジェクトの管理ガイドが面倒になります。

CanvasRendererでscene.overrideMaterialを使用することは可能ですか? またはワイヤフレーム レンダリングを強制する他の方法はありますか? r54を使用しています。

4

1 に答える 1

0

いいえ、CanvasRendererサポートしていませんscene.overrideMaterial。あなたは選択肢をかなり使い果たしたと思います。

MeshBasicMaterialオーバーライドとして使用する場合は注意が必要です。これは、シーンにメッシュのみが含まれている場合 (たとえば、ラインが含まれていない場合) にのみ行ってください。

three.js r.54

于 2013-01-12T04:39:27.307 に答える