     }
     else if (colorMode == 6)
     {
+        // Use intensity, but shade all points which have been classified green
+        pointColor = tonemap(intensity/400.0, exposure, contrast) * vec3(1);
+        if (classification != 0)
+            pointColor = 0.5*pointColor + vec3(0,0.75,0);
+    }
+    else if (colorMode == 7)
+    {
         // Set point colour and marker shape cyclically based on file number to
         // give a unique combinations for 5*7 files.
         markerShape = fileNumber % 5;

    {
        if (selectionMode == 1)
        {
            if (returnNumber != 1)
                markerShape = -1;
        }
        else if (selectionMode == 2)
        {
            if (returnNumber != numberOfReturns)
                markerShape = -1;
        }
        else if (selectionMode == 3)
        {
            if (returnNumber != 1 || numberOfReturns < 2)
                markerShape = -1;

uniform float trimRadius = 1000000;//# uiname=Trim Radius; min=1; max=1000000
uniform float exposure = 1.0;      //# uiname=Exposure; min=0.01; max=10000
uniform float contrast = 1.0;      //# uiname=Contrast; min=0.01; max=10000
uniform int colorMode = 0;         //# uiname=Colour Mode; enum=Intensity|Colour|Return Number|Number Of Returns|Point Source|Las Classification|Classified|File Number|Height Above Ground
uniform int selectionMode = 0;     //# uiname=Selection; enum=All|Classified|First Return|Last Return|First Of Several
uniform float minPointSize = 0;
uniform float maxPointSize = 400.0;
// Point size multiplier to keep coverage constant when doing stochastic
