CelestiaProject / Celestia

Real-time 3D visualization of space.
https://celestiaproject.space
GNU General Public License v2.0
1.85k stars 310 forks source link

Frustum cuts part of planet if it's LODSphareMesh #542

Open 375gnu opened 4 years ago

375gnu commented 4 years ago

cel://SyncOrbit/Sol:Mars:Curiosity/2019-11-29T08:58:58.22608?x=exzPv8///////////////w&y=HG7FcfX//////////////w&z=R9pp5xQ&ow=-0.823087&ox=0.0355385&oy=-0.560108&oz=-0.0868586&select=Sol:Mars:Curiosity&fov=34.8847&ts=0.5&ltd=0&p=0&rf=8455783187&lm=2&tsrc=0&ver=4

cel://SyncOrbit/Sol:Mars:Curiosity/2019-11-29T08:59:13.71741?x=fda/MxI&y=aVB4ZP7//////////////w&z=apWqbDI&ow=-0.975708&ox=-0.121786&oy=0.150493&oz=-0.10254&select=Sol:Mars:Curiosity&fov=34.8847&ts=0.5&ltd=0&p=0&rf=8455783187&lm=2&tsrc=0&ver=4

image

375gnu commented 4 years ago

Doesn't present in 1.6, but present in all 1.7 versions.

SevenSpheres commented 4 years ago

Those URLs don't work in 1.6.1, but it does have the same problem.

375gnu commented 4 years ago

@SevenSpheres just change ver=4 to ver=3 and they will work in 1.6. Could you also provide URL and screenshots for 1.6.1?

SevenSpheres commented 4 years ago

With the same URL changed to ver=3 I see this:

issue542

It doesn't look exactly the same, but the surface of Mars disappears at that angle.

375gnu commented 4 years ago

hmm, i have correct image, but i don't have textures for Mars installed in 1.6.1, i'll checkwith textures installed

375gnu commented 2 years ago

bad: cel://Follow/Sol:Mars/2022-09-25T08:43:28.53634Z?x=/TotXd5K7P///////////w&y=Y/R/LxcyBg&z=NNQwEG++9P///////////w&ow=-0.74854296&ox=-0.08709142&oy=-0.3223176&oz=0.572896&select=Sol:Mars&fov=50.93225&ts=1.0&ltd=0&p=1&rf=71095703&nrf=255&lm=0&tsrc=0&ver=3

375gnu commented 2 years ago

The issue is reproducible with 1.6 as well but the latest data is required.

375gnu commented 11 months ago

The root cause is a near plain clipping. Renderer::buildRenderLists / Renderer::buildDepthPartitions should check if objects have low height and merge their depth partition with the parent body's one.