diff --git a/Compositor/Classic/common-scene.xml b/Compositor/Classic/common-scene.xml
index 3997d65c0..bb1619044 100644
--- a/Compositor/Classic/common-scene.xml
+++ b/Compositor/Classic/common-scene.xml
@@ -10,6 +10,12 @@
128
1
1
+
+ /sim/rendering/dynamic-lighting/max-pointlights
+
+
+ /sim/rendering/dynamic-lighting/max-spotlights
+
sun-shadowmap-atlas
diff --git a/Video/graphics-properties.xml b/Video/graphics-properties.xml
index 39ff5c039..2582ae559 100644
--- a/Video/graphics-properties.xml
+++ b/Video/graphics-properties.xml
@@ -35,8 +35,8 @@ particular list.
/sim/rendering/shadows/sun-atlas-size
/sim/rendering/dynamic-lighting/enabled
- /sim/rendering/dynamic-lighting/limit-lights
- /sim/rendering/dynamic-lighting/max-lights
+ /sim/rendering/dynamic-lighting/max-pointlights
+ /sim/rendering/dynamic-lighting/max-spotlights
/sim/rendering/scenery-path-suffix[0]/enabled
/sim/rendering/scenery-path-suffix[1]/enabled
@@ -79,6 +79,8 @@ particular list.
/sim/rendering/shadows/enabled
/sim/rendering/shadows/sun-atlas-size
/sim/rendering/dynamic-lighting/enabled
+ /sim/rendering/dynamic-lighting/max-pointlights
+ /sim/rendering/dynamic-lighting/max-spotlights
diff --git a/defaults.xml b/defaults.xml
index f362e9d55..c1e248673 100644
--- a/defaults.xml
+++ b/defaults.xml
@@ -58,6 +58,11 @@ Started September 2000 by David Megginson, david@megginson.com
false
2048
+
+ false
+ 1024
+ 1024
+
false
diff --git a/gui/dialogs/advanced-graphics-options.xml b/gui/dialogs/advanced-graphics-options.xml
index 81638a496..8079fba43 100644
--- a/gui/dialogs/advanced-graphics-options.xml
+++ b/gui/dialogs/advanced-graphics-options.xml
@@ -92,13 +92,13 @@
0
-
+
0
1
true
-
+
0
2
@@ -118,7 +118,7 @@
-
+
@@ -162,7 +162,7 @@
1
-
+
@@ -178,7 +178,7 @@
0
/sim/gui/dialogs/advanced/als-description
-
+
hbox
@@ -356,7 +356,7 @@
-
+
/sim/rendering/shaders/skydome
@@ -447,12 +447,12 @@
-
+
vbox
1
-
+
@@ -465,7 +465,7 @@
-
+
vbox
@@ -556,11 +556,24 @@
left
limit-lights
- /sim/rendering/dynamic-lighting/limit-lights
+ /sim/gui/dialogs/advanced/limit-lights
dialog-apply
limit-lights
+
+ nasal
+
+
/sim/rendering/dynamic-lighting/enabled
@@ -570,11 +583,11 @@
hbox
right
-
+
/sim/rendering/dynamic-lighting/enabled
- /sim/rendering/dynamic-lighting/limit-lights
+ /sim/gui/dialogs/advanced/limit-lights
@@ -582,13 +595,14 @@
/sim/rendering/dynamic-lighting/enabled
- /sim/rendering/dynamic-lighting/limit-lights
+ /sim/gui/dialogs/advanced/limit-lights
max-lights
1
16
- /sim/rendering/dynamic-lighting/max-lights
+ true
+ /sim/rendering/dynamic-lighting/max-pointlights
dialog-apply
max-lights
@@ -598,13 +612,56 @@
/sim/rendering/dynamic-lighting/enabled
- /sim/rendering/dynamic-lighting/limit-lights
+ /sim/gui/dialogs/advanced/limit-lights
%.0f
true
- /sim/rendering/dynamic-lighting/max-lights
+ /sim/rendering/dynamic-lighting/max-pointlights
+
+
+
+
+ hbox
+ right
+
+
+
+
+ /sim/rendering/dynamic-lighting/enabled
+ /sim/gui/dialogs/advanced/limit-lights
+
+
+
+
+
+
+ /sim/rendering/dynamic-lighting/enabled
+ /sim/gui/dialogs/advanced/limit-lights
+
+
+ max-lights
+ 1
+ 16
+ true
+ /sim/rendering/dynamic-lighting/max-spotlights
+
+ dialog-apply
+ max-lights
+
+
+
+
+
+ /sim/rendering/dynamic-lighting/enabled
+ /sim/gui/dialogs/advanced/limit-lights
+
+
+
+ %.0f
+ true
+ /sim/rendering/dynamic-lighting/max-spotlights
@@ -963,7 +1020,7 @@
vbox
1
-
+
hbox
@@ -1075,13 +1132,13 @@
/sim/rendering/clouds3d-vis-range
-
+
1
-
+
vbox
@@ -1094,7 +1151,7 @@
-
+
true
@@ -1115,6 +1172,17 @@
true
Esc
+
+ nasal
+
+
dialog-close
@@ -1214,6 +1282,10 @@
setprop("/sim/gui/dialogs/advanced/shadows", "Disabled");
}
+ # Lights
+ setprop("/sim/gui/dialogs/advanced/limit-lights",
+ (getprop("/sim/rendering/dynamic-lighting/max-pointlights") < 1024) or (getprop("/sim/rendering/dynamic-lighting/max-spotlights") < 1024));
+
var getScenerySuffix = func(layer) {
var suffixes = props.globals.getNode("/sim/rendering", 1).getChildren("scenery-path-suffix");
@@ -1319,7 +1391,7 @@
setprop("/sim/gui/dialogs/rendering/placed-objects", "Disabled");
}
]]>
-
-
+
+