anchor.diff:               "}"] |> String.join "\n"
   
           // fragment shader code
  +        // TODO: 3D: figure out how to apply layout(location ...) to uniform.
           let samplerFragmentShaderStr =
               [Constants.Render.GlslVersionPragma
                "uniform sampler2D tex;"
  
positive.code:     let private CreateShader () =
  
          // vertex shader code
          let samplerVertexShaderStr =
              [Constants.Render.GlslVersionPragma
               "layout(location = 0) in vec2 position;"
  
negative.code:               mutable State : State }
  
      /// Create a batched sprite shader with uniforms:
      ///     0: sampler2D tex
      ///     1: mat4 viewProjection
      /// and attributes:
      ///     0: vec2 position
      ///     1: vec2 coordsIn
  