Ideas about root cause of erroneous mesh clipping [Solved]


I am using a modified orbit control to move the camera around. The THREE.Mesh (comprised of THREE.ShaderMaterial and THREE.BufferGeometry) being viewed sometimes disappears entirely at certain rotation or zoom levels, even though I would expect many of its geometry instances to still be within the viewing frame. Does some sort of clipping/culling occur at the mesh/object level? I haven’t set any clipping planes myself and from what I see in the documentation, clipping planes are not used by default.


Does it also happen if you disable view frustum culling like so: mesh.frustumCulled = false;


Thanks, that did it. I expect that Frustum.js:intersectsObject() is returning false and that BufferGeometry.computeBoundingSphere() is not able to correctly compute a bounding sphere. Is that sensible? I don’t know how a bounding sphere could be computed properly without the BufferGeometry inspecting the triangle vertices, but even then it couldn’t necessarily know which attribute to inspect.

Anyway, thanks for your help.


As long as your geometry has a proper position attribute the method is able to compute the bounding sphere.