diff --git a/gui/dialogs/rendering.xml b/gui/dialogs/rendering.xml index 7f9432210..a3b921219 100644 --- a/gui/dialogs/rendering.xml +++ b/gui/dialogs/rendering.xml @@ -222,9 +222,13 @@ hbox left - + ws30 /scenery/use-vpb + + /sim/gui/dialogs/rendering/vpb-available + + dialog-apply ws30 @@ -237,18 +241,23 @@ hbox right - - - /scenery/use-vpb - true - - - + + + /scenery/use-vpb + true + + elev-lod + + + /scenery/use-vpb + true + + 1.0 10.0 1.0 @@ -261,6 +270,12 @@ + + + /scenery/use-vpb + true + + %.1f true /scenery/elevation-mesh/lod-range-factor @@ -270,18 +285,24 @@ hbox right - - - /scenery/use-vpb - true - - + + + /scenery/use-vpb + true + + elev-delta + + + /scenery/use-vpb + true + + 0.0 20.0 1.0 @@ -294,6 +315,12 @@ + + + /scenery/use-vpb + true + + %2dm true /scenery/elevation-mesh/constraint-gap-m @@ -1118,19 +1145,29 @@ var matfile = getprop("/sim/rendering/materials-file"); foreach (var name; keys(materials)) { if (matfile == materials[name]) { - setprop("/sim/gui/dialogs/rendering/texture-set", name); + setprop("/sim/gui/dialogs/rendering/texture-set", name); } } - var vendor = getprop("/sim/rendering/gl-vendor"); - if (vendor != nil) { - vendor = string.lc(vendor); - if (find("intel", vendor) != -1) { - setprop("/sim/gui/dialogs/rendering/shader-warning", 1); - } else { - setprop("/sim/gui/dialogs/rendering/shader-warning", 0); - } - } + var vendor = getprop("/sim/rendering/gl-vendor"); + if (vendor != nil) { + vendor = string.lc(vendor); + if (find("intel", vendor) != -1) { + setprop("/sim/gui/dialogs/rendering/shader-warning", 1); + } else { + setprop("/sim/gui/dialogs/rendering/shader-warning", 0); + } + } + + var osg_version = getprop("/sim/version/openscenegraph"); + + + if ((osg_version != nil) and (find("3.6", osg_version) == 0)) { + # Currently vpb requires OSG 3.6 specifically. + setprop("/sim/gui/dialogs/rendering/vpb-available", 1); + } else { + setprop("/sim/gui/dialogs/rendering/vpb-available", 0); + } # Mapping from underlying properties to those used by the GUI.