Mesh jumbled when zoomed in, only 8000 units from origin

Hi @jeff and @stevebaer do you know why I get these issues when the objects are only 8000 units from origin?
Units = Meters, tolerance = 0.001

Same view, different zoom levels:



So it looks good when “far away” but horrible up close when I want to model.

I extracted some objects since I can’t share the model, and then meshed them to see if that would make a difference, but no. So here are some of those meshes:

Jumbled meshes when up close.3dm (434.9 KB)

Obviously I can move it closer to origin, but then I can’t sync it with the architect. So sometimes we need to be able to work “here”.

No objects far from origin.
No bad meshes.
No blocks hiding in the bushes.
(There are some bad meshes in the original file, but nothing culldegeneratemeshfaces can’t cure, but none in the file I included)

Thanks for taking a look.

Hi Jorgen it looks like there are coincident, or near coincident faces - the larger white mesh and the tan ones - these are .01 apart - I’m just guessing these are fighting in one level of depth in the display.

Still poking…

-Pascal

1 Like

Thanks, but that is still 10x away from the file tolerance, and the mesh display shouldn’t struggle with these distances since the view bounding box isn’t large (IMO) :wink: Thanks for poking!

Hi Jorgen - yeah, my guess of the moment was that it is not tolerance related so much as depth related but I see it does look better nearer the origin. I’ll poke some more but I suspect it will need a bigger brain than mine. (These all look better if they are unwelded too, at about 30 degrees, but, different thing…)

Also noticed hat if I copy the obiects to the origin and stick them on a different layer, and turn the layer on and off, my current view of the origionals changes - which brings me back to my first guess - this has to do more with the extents of the scene, possibly, than with messy meshes.

At any rate - RH-77172 Mesh display messy

-Pascal

Here is an exploration of the problem. I do not know if there is a problem here or not, but this is a look into the mechanism that is causing the display inaccuracy.

It is not file tolerance, but video card Z-buffer resolution. When faces are really close to each other video cards can have trouble with near co-planar meshes. I think most Z-buffers only have 125 layers to sort objects int across the depth of the camera frustrum.

The images below show the problem with the two meshes not hiding correctly. The viewport below shows the orientation of the camera and the deep frustrum the perspective view contains. So, trying to sort the hidden with the long joined meshes is causing trouble

As a test then unweld and explode all meshes, which allows better sorting of objects. Then delete some of the meshes that are growing the frustum. The image below shows the same view, but the camera frustrum is much smaller and the hidden view is much better:

1 Like

Thanks, so why isnt it a problem if objekt is moved closer to origin? And why is it looking just fine here:

But if I zoom in a tad it looks like this?

It seems very odd that this can be blamed on the z-buffer resolution, IMO it should look worse when zoomed out, not in…

And I have never seen this in a games engine (We use Twinmotion all the time on these files too)

Not sure exactly. Can you look to see if the camera frustrum changes as it moves closer to 0?

I was looking for objects that were out at 0 and could not find any. I was wondering if the camera extents might change if moved to the 0?

Thanks Scott, could you please check this yourself? I think it will be more productive since you know what you are looking for :slight_smile:

There very well could be a problem here. It is the camera frustrum that is changing.

I added more information to the report RH-77172. The fact that moving it makes a difference.

Here is the model in both locations. This is the model at the original coordinates, see how large the camera frustrum is compared to the model in the upper left of the viewport:

Here it is closer to 0:

1 Like