anchor.diff:           shader : PhysicallyBasedShader) =
   
           // setup state
  +        OpenGL.Gl.DepthMask true
  +        OpenGL.Gl.DepthFunc DepthFunction.Lequal
           OpenGL.Gl.Enable OpenGL.EnableCap.DepthTest
  -        OpenGL.Gl.DepthFunc DepthFunction.Lequal
  -        OpenGL.Gl.DepthMask true
  +        OpenGL.Gl.CullFace OpenGL.CullFaceMode.Back
           OpenGL.Gl.Enable OpenGL.EnableCap.CullFace
  -        OpenGL.Gl.CullFace OpenGL.CullFaceMode.Back
           Assert ()
   
           // setup shader
  
positive.code: 
          // clear inner viewport
          OpenGL.Gl.ClearColor (0.0f, 0.0f, 0.0f, 1.0f)
          OpenGL.Gl.Clear (OpenGL.ClearBufferMask.ColorBufferBit ||| OpenGL.ClearBufferMask.DepthBufferBit ||| OpenGL.ClearBufferMask.StencilBufferBit)
          Assert ()
  
  
negative.code:         OpenGL.Gl.BlendEquation OpenGL.BlendEquationMode.FuncAdd
          OpenGL.Gl.BlendFunc (OpenGL.BlendingFactor.SrcAlpha, OpenGL.BlendingFactor.OneMinusSrcAlpha)
          Assert ()
  
          // update models buffer
          let modelsFieldsPtr = GCHandle.Alloc (modelsFields, GCHandleType.Pinned)
          try OpenGL.Gl.BindBuffer (OpenGL.BufferTarget.ArrayBuffer, geometry.ModelBuffer)
              OpenGL.Gl.BufferData (OpenGL.BufferTarget.ArrayBuffer, uint (modelsCount * 16 * sizeof<single>), modelsFieldsPtr.AddrOfPinnedObject (), OpenGL.BufferUsage.DynamicDraw)
          finally modelsFieldsPtr.Free ()
  
          // setup geometry
          OpenGL.Gl.BindVertexArray geometry.PhysicallyBasedVao
  