     }
     else if (colorMode == 5)
     {
-        // Default coloring: greyscale
+        // Colour according to some common classifications defined in the LAS spec
         pointColor = vec3(exposure*classification);
-        // Some special colors for standard ASPRS classification numbers
         if (classification == 2)      pointColor = vec3(0.33, 0.18, 0.0); // ground
         else if (classification == 3) pointColor = vec3(0.25, 0.49, 0.0); // low vegetation
         else if (classification == 4) pointColor = vec3(0.36, 0.7,  0.0); // medium vegetation

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|Classification|File Number|Height Above Ground
uniform int selectionMode = 0;     //# uiname=Selection; enum=All|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

                             vec3(1,1,0), vec3(1,0,1), vec3(0,1,1));
        pointColor = cols[fileNumber % 7];
    }
    else if (colorMode == 8)
    {
        // Color based on height above ground
        pointColor = 0.8*jet_colormap(tonemap(0.16*heightAboveGround, exposure, 3.8*contrast));
