]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/util/RenderConstants.hxx
Work around apparent OSG 3.2.0 normal binding bug.
[simgear.git] / simgear / scene / util / RenderConstants.hxx
index 66ce522eb88d418cfb261885d2fbafa3354682f2..eec6ac952bfe3a7a3956426402562e253b07712d 100644 (file)
@@ -43,13 +43,19 @@ enum NodeMask {
     BACKGROUND_BIT = (1 << 11),
     // Everything else that isn't terrain. Initially for clouds;
     // eventually for other models?
-    MODEL_BIT = (1 << 12)
+    MODEL_BIT = (1 << 12),
+    MODELLIGHT_BIT = (1 << 13),
+    PERMANENTLIGHT_BIT = (1 << 14)
 };
 
 // Theory of bin numbering:
 //
 // Normal opaque objects are assigned bin 0.
 //
+// Random objects like trees may have transparency, but there are too
+// many to depth sort individually. By drawing them after the terrain
+// we can at least keep the sky under the ground from poking through.
+//
 // Point lights blend with the terrain to simulate attenuation but
 // should completely obscure any transparent geometry behind
 // them. Also, they should be visible through semi-transparent cloud
@@ -62,6 +68,7 @@ enum NodeMask {
 // OSG and its file loaders throw all transparent objects into bin 10.
 
 enum RenderBin {
+    RANDOM_OBJECTS_BIN = 2,
     POINT_LIGHTS_BIN = 8,
     CLOUDS_BIN = 9,
     TRANSPARENT_BIN = 10        // assigned by OSG