anchor.diff:      let shadowDepth =
           sceneSg [ DefaultSurfaces.vertexColor |> toEffect ]
               |> Sg.uniform "ViewportSize" (Mod.constant (V2i(1024,1024)))
  -            |> Sg.viewTrafo (shadowCam |> CameraView.viewTrafo |> Mod.constant)
  +            |> Sg.viewTrafo lightSpaceView
               |> Sg.projTrafo (shadowProj |> Frustum.projTrafo |> Mod.constant)
               |> Sg.compile win.Runtime signature   
               |> RenderTask.renderToDepth shadowMapSize
  
positive.code:     let pointSg = 
          let rand = Random()
          let randomV3f() = V3f(rand.NextDouble(), rand.NextDouble(), rand.NextDouble())
          let randomColor() = C4b(rand.NextDouble(), rand.NextDouble(), rand.NextDouble(), 1.0)
  
          Sg.draw IndexedGeometryMode.PointList
              |> Sg.vertexAttribute DefaultSemantic.Positions (Array.init pointCount (fun _ -> randomV3f()) |> Mod.constant)
              |> Sg.vertexAttribute DefaultSemantic.Colors (Array.init pointCount (fun _ -> randomColor()) |> Mod.constant)
              |> Sg.vertexAttribute DefaultSemantic.Normals (Array.init pointCount (fun _ -> V3f.OOI) |> Mod.constant)
              |> Sg.uniform "PointSize" pointSize
  
      let sceneSg (fragmentShader : list<FShadeEffect>) =
          quadSg C4b.Green 
          |> Sg.effect ( (Shader.trafo |> toEffect) :: fragmentShader )
          |> Sg.andAlso ( pointSg 
                          |> Sg.effect ([ DefaultSurfaces.trafo |> toEffect; 
                                          DefaultSurfaces.pointSprite |> toEffect
                                          DefaultSurfaces.pointSpriteFragment |> toEffect ] @ fragmentShader)
                        )
          |> Sg.uniform "LightViewMatrix" (lightSpaceViewProjTrafo)
          |> Sg.trafo ( Trafo3d.Translation(V3d(0.0,0.0,0.3)) |> Mod.constant )
  
negative.code:     let rotation =
          controller {
              let! dt = differentiate Mod.time
              return fun f -> f + dt.TotalSeconds * 0.6
          }
      let angle = AFun.integrate rotation 0.0
      let lightSpaceView =
  