Menu

#2438 Bare LOD ignored on next

2020.4
Fixed
None
Medium
2021-08-18
2020-11-28
No

Posted this on ML, but got no reply whatsoever.

On next, are LOD ignores values higher than ca. 50 km, so you can no longer
make scenery go all the way to the horizon:
https://imgur.com/a/S1FlcTP

Test:
$ fgfs --aircraft=ufo --altitude=61000.0 --disable-real-weather-fetch --timeofday=noon

next version info:

flightgear b73413d52 2020-11-22 Part 2: Work towards the option of interpolating between climate tiles by combining all climate related ground level parameters in one structure and calculating the sea level tile from the (not
yet interpolated) ground level tile. Read the elevelation of the climate tile from the köppen database image which now contains the climate class in the red channel and the ground elevation in the green channel. (HEAD -> next,
origin/next, origin/HEAD) [Erik Hofman]
simgear 0a379865 2020-11-21 Use ref_ptr for ReaderWriterSPT (HEAD -> next, origin/next, origin/HEAD) [Stuart Buchanan]
fgdata 580e1d485 2020-11-22 Keep the Köppen climate class in the red channel and add the ground eleveation in the green channel. (origin/next, origin/HEAD, next) [Erik Hofman]

2020.3.3 version info:

flightgear 782f3cad0 2020-11-21 Sentry: use context to report exception locations (HEAD -> release/2020.3, origin/release/2020.3) [Automatic Release Builder]
simgear d95b1c04 2020-11-12 new version: 2020.3.3 (HEAD -> release/2020.3, tag: version/2020.3.3, origin/release/2020.3) [Automatic Release Builder]
fgdata 1ca7b078c 2020-11-18 Joystick-config: fix ToggleButton, add AP-DISC (origin/release/2020.3, release/2020.3) [James Turner]

Discussion

  • James Turner

    James Turner - 2020-11-29
    • assigned_to: Stuart Buchanan
     
  • James Turner

    James Turner - 2020-11-29

    Seeing if Stuart can comment.

     
  • Anonymous

    Anonymous - 2020-12-05

    I think this was caused by either:
    - photoscenery merge;
    - CompositeViewer

     
  • Anonymous

    Anonymous - 2020-12-05

    Sorry, I was wrong.

    Now I found the offending commit:

    * 0982b2827 2020-11-08 | WS3.0: Initial commit of WS3.0 rendering [Stuart Buchanan]
    
     
  • Anonymous

    Anonymous - 2020-12-05

    Specifically,

            } else if (!strcmp(prop->getName(), "lod")) {
                const float new_lod = prop->getFloatValue();
                _cameraGroup->_viewer->getCamera()->setLODScale(new_lod);
            }
    

    of the file that is now src/Viewer/CameraGroup.cxx

     
  • Anonymous

    Anonymous - 2020-12-15

    Does anyone see this? At all?

     
  • Stuart Buchanan

    Stuart Buchanan - 2020-12-15

    Weird. I though that change would only affect the WS30 work. I'll take a look.

    -Stuart

     
  • Anonymous

    Anonymous - 2021-01-08

    Reproduction: $fgfs --aircraft=ufo --airport=LOWI --altitude=60000 and set cloud layers to "Clear" in weather dialog. Result: see photos

    Setting visibility seems to affect tile loading, but setting Bare LOD not anymore.

     

    Last edit: Anonymous 2021-01-08
  • Anonymous

    Anonymous - 2021-01-08

    Maybe the black hole in the bottom of slybox is what causing this? Because if it wouldn't be there, then the horizon wouldn't be that noticeable

     
  • Anonymous

    Anonymous - 2021-01-09
     
  • Anonymous

    Anonymous - 2021-01-09

    This kludge partially reverts the offending commit and makes the tiles stop disappearing right under you (but they are still disappearing on the edge)

     

    Last edit: Anonymous 2021-01-09
  • Anonymous

    Anonymous - 2021-01-09

    And the black hole in the bottom end of skybox indeed seems to be an Intel thing.

     
  • waldo kitty

    waldo kitty - 2021-01-09

    i see the same hole as noted in ticket #2507... it is also seen in one of the photos i posted there...

    i don't know that LOD is the problem but i do see weirdness like this with some tiles occasionally... i've not been able to pin it down to anything specific...

    i use use one of three different LOD sets...

    75km horizon:

    # the following distance numbers are based on the horizon distance of 369km @ 35000ft altitude
    # visibility is in meters
    --visibility=75000
    # haze-factor is in kilometers
    --prop:/local-weather/config/ground-haze-factor=75
    # vis-range is in meters
    --prop:/sim/rendering/clouds3d-vis-range=75000
    --prop:float:/sim/rendering/clouds3d-density=0.25000000
    
    # set scenery LODs
    # we're using the deltas so each number is added to the previous one
    # in the sequence: detailed + rough + bare
    # these are in meters
    --prop:float:/sim/rendering/static-lod/detailed=3704.0
    --prop:string:/sim/rendering/static-lod/detailed-description=0m to 3704m (2.0nm)
    --prop:float:/sim/rendering/static-lod/rough-delta=51856.0
    --prop:string:/sim/rendering/static-lod/rough-delta-description=3704m (2.0nm) to 55560m (30.0nm)
    --prop:float:/sim/rendering/static-lod/bare-delta=19440.0
    --prop:string:/sim/rendering/static-lod/bare-delta-description=55560m (30.0nm) to 75000m (40.5nm)
    # set the old properties rough and base to zero since we're
    # using the deltas now. this makes it noticible we're not
    # using them when looking at the property tree in the sim
    --prop:float:/sim/rendering/static-lod/rough=55560.0
    --prop:float:/sim/rendering/static-lod/bare=75000.0
    

    150km horizon:

    # the following distance numbers are based on the horizon distance of 369km @ 35000ft altitude
    --visibility=150000
    --prop:/local-weather/config/ground-haze-factor=150
    --prop:/sim/rendering/clouds3d-vis-range=150000
    --prop:float:/sim/rendering/clouds3d-density=0.25000000
    
    --prop:float:/sim/rendering/static-lod/detailed=3704.0
    --prop:string:/sim/rendering/static-lod/detailed-description=0m to 3704m (2.0nm)
    --prop:float:/sim/rendering/static-lod/rough-delta=51856.0
    --prop:string:/sim/rendering/static-lod/rough-delta-description=3704m (2.0nm) to 55560m (30.0nm)
    --prop:float:/sim/rendering/static-lod/bare-delta=94440.0
    --prop:string:/sim/rendering/static-lod/bare-delta-description=55560m (30.0nm) to 150000m (81.0nm)
    --prop:float:/sim/rendering/static-lod/rough=55560.0
    --prop:float:/sim/rendering/static-lod/bare=150000.0
    

    370km horizon:

    # the following distance numbers are based on the horizon distance of 369km @ 35000ft altitude
    --visibility=370000
    --prop:/local-weather/config/ground-haze-factor=370
    --prop:/sim/rendering/clouds3d-vis-range=370000
    --prop:float:/sim/rendering/clouds3d-density=0.25000000
    
    --prop:float:/sim/rendering/static-lod/detailed=3704.0
    --prop:string:/sim/rendering/static-lod/detailed-description=0m to 3704m (2.0nm)
    --prop:float:/sim/rendering/static-lod/rough-delta=51856.0
    --prop:string:/sim/rendering/static-lod/rough-delta-description=3704m (2.0nm) to 55560m (30.0nm)
    --prop:float:/sim/rendering/static-lod/bare-delta=314400.0
    --prop:string:/sim/rendering/static-lod/bare-delta-description=55560m (30.0nm) to 370000m (199.8nm)
    --prop:float:/sim/rendering/static-lod/rough=55560.0
    --prop:float:/sim/rendering/static-lod/bare=370000.0
    
     
  • Anonymous

    Anonymous - 2021-01-12

    Starting from 30000 ft the "horizon" of displayed tiles starts narrowing until at around 60000 ft you get just one tile like on the screenshot I attached.

     
  • Anonymous

    Anonymous - 2021-01-12

    But increasing visibility (with basic weather) seems to get the scenery to load. This can not be done with Advanced weather, though.

     
  • Stuart Buchanan

    Stuart Buchanan - 2021-01-14

    Hi Michael,

    Thanks for the analysis and apologies for the delay in looking at this.

    I've had a look, and it seems this LODScale is used to multiply the apparent distance of every LOD node evaluation. So with 1.5 set, from a culling perspective, everything appears 1.5x as far.

    That would mean that tiles would get culled as 2/3 the fogging range, which means they'll be unloaded too early.

    I'll remove the setting of LODScale.

    Thanks,

    -Stuart

     
  • Anonymous

    Anonymous - 2021-01-14

    Hi,

    I just tried experimenting with the value, and putting 0.5 to 0.75 instead of 1.5 seems like the safe choice -- then terrain smoothly disappears into the fog without any hard edge.

     
  • Anonymous

    Anonymous - 2021-08-18
    • status: New --> Fixed
     
  • Anonymous

    Anonymous - 2021-08-18

    Seems to have been fixed.

     

Log in to post a comment.