Un problème opposé ici - nous ne voyons pas les visages là où ils sont définis. C'est peut-être parce que la géométrie est partagée entre la ligne et le maillage.
J'ai débogué ce problème aujourd'hui. Geometry
est converti en interne en BufferGeometry
. Le résultat de cette conversion dépend du type d'objet (maillage, ligne, etc.). Ainsi, dans l'exemple de @makc , la géométrie est convertie comme la géométrie d'un objet Line
. Cela créera un attribut de position et de couleur. Lorsque l'instance de Mesh
est rendue avec le même objet Geometry
, le moteur de rendu renvoie la même instance mise en cache de BufferGeometry
.
C'est la raison pour laquelle vous voyez ces triangles verts dans la démo. Mesh
et Line
partagent le même interne BufferGeometry
et l'interprètent différemment. Je pense que nous pouvons résoudre ce problème si nous essayons de respecter le type d'objet lors de la mise en cache du BufferGeometry
.
Ou nous vous recommandons simplement d'utiliser BufferGeometry
en premier lieu: sweat_smile:
@mrdoob Je suggère d'introduire une nouvelle étiquette Wont't fix
, de l'attribuer au problème et de la fermer. Je ne pense pas qu'il soit logique d'ajouter un correctif au moteur de rendu si le projet va de toute façon arrêter le rendu de Geometry
. La solution à ce problème est l'utilisation de BufferGeometry
.
Commentaire le plus utile
J'ai débogué ce problème aujourd'hui.
Geometry
est converti en interne enBufferGeometry
. Le résultat de cette conversion dépend du type d'objet (maillage, ligne, etc.). Ainsi, dans l'exemple de @makc , la géométrie est convertie comme la géométrie d'un objetLine
. Cela créera un attribut de position et de couleur. Lorsque l'instance deMesh
est rendue avec le même objetGeometry
, le moteur de rendu renvoie la même instance mise en cache deBufferGeometry
.https://github.com/mrdoob/three.js/blob/ec67749b0767e2727deebd52da2dbd3a4e7ab6a2/src/renderers/webgl/WebGLGeometries.js#L63 -L65
C'est la raison pour laquelle vous voyez ces triangles verts dans la démo.
Mesh
etLine
partagent le même interneBufferGeometry
et l'interprètent différemment. Je pense que nous pouvons résoudre ce problème si nous essayons de respecter le type d'objet lors de la mise en cache duBufferGeometry
.Ou nous vous recommandons simplement d'utiliser
BufferGeometry
en premier lieu: sweat_smile: