anchor.diff:      let fragmentShaderCode =
           """
   #version 140
  -out vec4 outputColor;
  +out vec4 fColor;
   void main()
   {
  -	outputColor = vec4(0.f,0.6f,0.8f,0.5f);
  +	fColor = vec4(0.f,0.6f,0.8f,0.5f);
   }
   """
   
  
positive.code: open GlmNet
  
  
  /// Extending SharpGL.Shaders.ShaderProgram
  module Base =
      
      /// Loads the shader sourcecode from the named manifest resource.
      let LoadManifestResource (textFileName : string) =
      
          let executingAssembly = Assembly.GetExecutingAssembly()
          let pathToDots = textFileName.Replace("\\", ".")
          let location = String.Format("{0}.{1}", executingAssembly.GetName().Name, pathToDots)
  
negative.code:            0.75f; -0.75f; 0.0f; 1.0f;
             -0.75f; -0.75f; 0.0f; 1.0f |]
  
      let positionBufferObject = [|for i in [0u .. 8u] do yield i |]
  
      let vao = [|for i in [0u .. 2u] do yield 0u|]
      
      let shaderProgram = ShaderProgram()
  
      let attributeLocations = new Dictionary<uint32, string>()
      let positionAttribute = 0u
      let normalAttribute = 1u
      let indexAttribute = 2u        
      attributeLocations.Add (positionAttribute, "Position")
      //attributeLocations.Add (normalAttribute, "Normal")
      //attributeLocations.Add (indexAttribute, "outputColor")
  
      let mutable pixelVertexShader = Shaders.VertexShader()
      let mutable pixelFragmentShader = Shaders.FragmentShader()
  
  module Main =
  
      let InitializeVertexBuffer (gl : OpenGL ref) =    
          (!gl).GenBuffers(1, Globals.positionBufferObject)
  
          (!gl).BindBuffer (OpenGL.GL_ARRAY_BUFFER, (Globals.positionBufferObject.[0]))
          (!gl).BufferData (OpenGL.GL_ARRAY_BUFFER, Globals.vertices, OpenGL.GL_STATIC_DRAW)
          (!gl).BindBuffer (OpenGL.GL_ARRAY_BUFFER, 0u)
  
  
      let Arrange (gl : OpenGL ref) =
          Base.Init 
              gl 
              Globals.shaderProgram
              Globals.attributeLocations
              Globals.vertexShaderCode
              Globals.fragmentShaderCode
          |> fun (x,y) -> 
              Globals.pixelVertexShader <- x
              Globals.pixelFragmentShader <- y
          InitializeVertexBuffer gl
  
          (!gl).GenVertexArrays (1, Globals.vao)
          (!gl).BindVertexArray(Globals.vao.[0])
  
      let Display (gl : OpenGL ref) =
          (!gl).ClearColor (0.f,0.6f,0.8f,1.f)  //(1.f,1.f,1.f,0.2f) //
          (!gl).Clear(OpenGL.GL_COLOR_BUFFER_BIT)
          if (fun _ -> DateTime.Now.Ticks % 10L)() = 0L then
              (!gl).Color (0.f,0.6f,0.8f,1.f)
          else 
              (!gl).Color (0.5f,0.6f,0.0f,1.f)
          
  
          (!gl).UseProgram(Globals.shaderProgram.ShaderProgramObject)
  
  //        (!gl).BindBuffer(OpenGL.GL_ARRAY_BUFFER, Globals.positionBufferObject.[0])
  //        (!gl).EnableVertexAttribArray(0u)
  //        (!gl).VertexAttribPointer(0u, 4, OpenGL.GL_FLOAT, false, 0, IntPtr(int Globals.positionBufferObject.[0]))
  
          (!gl).DrawArrays(OpenGL.GL_TRIANGLES, 0, 3)
          (!gl).Flush()
  
  //        (!gl).DisableVertexAttribArray (0u)
  //        (!gl).UseProgram (0u)
  //        Globals.shaderProgram.Unbind (!gl)
         
      let loadXamlWindow (filename:string) =
          let reader = XmlReader.Create(filename)
  