anchor.diff:          OpenGL.Hl.Assert ()
   
           // create shader
  -        let (viewProjectionUniform, perimetersUniform, pivotsUniform, rotationsUniform, texCoordsesUniform, colorsUniform, texUniform, shader) = CreateShader ()
  +        let (perimetersUniform, pivotsUniform, rotationsUniform, texCoordsesUniform, colorsUniform, viewProjectionUniform, texUniform, shader) = CreateShader ()
           OpenGL.Hl.Assert ()
   
           // create env
           { SpriteIndex = 0; ViewProjectionAbsolute = m4Identity; ViewProjectionRelative = m4Identity
  -          ViewProjectionUniform = viewProjectionUniform
             PerimetersUniform = perimetersUniform; PivotsUniform = pivotsUniform; RotationsUniform = rotationsUniform
  -          TexCoordsesUniform = texCoordsesUniform; ColorsUniform = colorsUniform; TexUniform = texUniform; Shader = shader
  +          TexCoordsesUniform = texCoordsesUniform; ColorsUniform = colorsUniform; ViewProjectionUniform = viewProjectionUniform
  +          TexUniform = texUniform; Shader = shader
             Perimeters = Array.zeroCreate (Constants.Render.SpriteBatchSize * 4)
             Pivots = Array.zeroCreate (Constants.Render.SpriteBatchSize * 2)
             Rotations = Array.zeroCreate (Constants.Render.SpriteBatchSize)
  
positive.code: 
              // setup shader
              OpenGL.Gl.UseProgram env.Shader
              OpenGL.Gl.UniformMatrix4f (env.ViewProjectionUniform, 1, false, if env.State.Absolute then env.ViewProjectionAbsolute else env.ViewProjectionRelative)
              OpenGL.Gl.Uniform4 (env.PerimetersUniform, env.Perimeters)
              OpenGL.Gl.Uniform4 (env.TexCoordsesUniform, env.TexCoordses)
              OpenGL.Gl.Uniform2 (env.PivotsUniform, env.Pivots)
              OpenGL.Gl.Uniform1 (env.RotationsUniform, env.Rotations)
              OpenGL.Gl.Uniform4 (env.ColorsUniform, env.Colors)
              OpenGL.Gl.Uniform1i (env.TexUniform, 1, 0)
              OpenGL.Gl.ActiveTexture OpenGL.TextureUnit.Texture0
              OpenGL.Gl.BindTexture (OpenGL.TextureTarget.Texture2d, env.State.Texture)
  
negative.code:         let samplerVertexShaderStr =
              [Constants.Render.GlslVersionPragma
               "#define VERTS 6"
               "uniform vec4 perimeters[" + string Constants.Render.SpriteBatchSize + "];"
               "uniform vec2 pivots[" + string Constants.Render.SpriteBatchSize + "];"
               "uniform float rotations[" + string Constants.Render.SpriteBatchSize + "];"
               "uniform vec4 texCoordses[" + string Constants.Render.SpriteBatchSize + "];"
               "uniform vec4 colors[" + string Constants.Render.SpriteBatchSize + "];"
               "uniform mat4 viewProjection;"
               "out vec2 texCoords;"
               "out vec4 color;"
               ""
  