Holes in Mesh appear

Hey

I’m trying to get a scanned environment running, though when I run this test asset through Ion, the mesh has holes randomly appearing in parts when I move around. Max screen space error is set to 12. The base mesh itself is not very high poly, around 100k tris, but it has a large texture set. The target platform is Android (Quest2).

Does the mesh have to be water tight to remove this? Any ideas?

Thanks!


Hi @McDoug,

Sorry to hear you’re having trouble! This looks like it’s likely an ion tiling issue, but before I move it to that category of the forum, can you check and let me know if the same issue is appearing when you preview it in Cesium ion, or in CesiumJS? To preview it in CesiumJS you can hit the “live code example” button at the bottom of the asset description in ion.

-Alex

Hey, thanks for the reply @agallegos. Yes the model has cracks in it in Ion as well.

@McDoug, Thanks for confirming. I’ve moved this thread to the Cesium ion forum category. Someone will take a look at your post soon. In the meantime, it may help if you let us know what software or tool you used to generate this dataset, and what settings (if any) you selected when you uploaded it to ion.

-Alex

It was uploaded directly from Reality Capture using the built in tool. I suspect it may be because the mesh size itself is pretty small…only 100k triangles.

@McDoug to help narrow this down could you click “Open complete code example” in ion and add tileset.backFaceCulling = false; to the bottom of the code and then click run?

That would help us determine whether triangles are missing or if they’re just facing the wrong direction.

Here is the result after hitting run. @sean_lilley

I should note that I’m trying to use Ion maybe a little differently than intended. I’ve noticed that if I load in heavier mesh, like in the 3-5m poly range, I need to set the Screen Space Error pretty high (like 64) to get an acceptable framerate on the Quest2, but then the tileset is so heavily decimated that everything but the closest tiles effectively look like goop. I noticed that if I load in a way lighter mesh from the outset (like 100k poly), I can get better performance at a Screen Space error of around 5, and everything looks decent and runs fairly well, however, I get the holes.

ScreenSpace 16 on a 5m poly version. Perf too low on Quest 2 but looks okay.

ScreenSpace 64 on same model. Perf okay, but looks not so good (upper windows, etc).

Im effectively more interested in using Ion to stream really large texture sets. The geo itself can be more or less optimzied on my end.

Thanks!

@sean_lilley any updates on this? Thanks!

Hi @McDoug, thanks for testing out the back face culling option. That helped us narrow this down. The artifacts seem to be triggered by the specific memory settings used by ion. I get a clean result by using the default bitmap cache size with the tiling pipeline CLI. We’re still looking into why this happens.

Ok cool. Please do let me know if the fix is available. Thanks.