1 thought on “Geometry without faces is still rendered in Mesh

  1. I’ve debugged this issue today. Geometry is internally converted to BufferGeometry. The outcome of this conversion depends on the type of object (Mesh, Line, etc.). So in @makc‘s example, the geometry is converted as the geometry of a Line object. This will create a position and color attribute. When the instance of Mesh is rendered with the same Geometry object, the renderer returns the same cached instance of BufferGeometry.

    var buffergeometry = geometries[ geometry.id ];
    if ( buffergeometry ) return buffergeometry;

    This is the reason why you see these green triangles in the demo. Mesh and Line share the same internal BufferGeometry and interpret it differently. I think we can solve this problem if we try to respect the type of object when caching the BufferGeometry.

    Or we just recommend to use BufferGeometry in the first place 😅

Comments are closed.