@@ -676,7 +676,8 @@ type [<ReferenceEquality>] GlRenderer2d =
676676 let virtualScalar = ( v2iDup renderer.Viewport.DisplayScalar) .V2
677677 let position = perimeter.Min.V2 * virtualScalar
678678 let size = perimeter.Size.V2 * virtualScalar
679- let viewProjection = Viewport.getViewProjection2d absolute eyeCenter eyeSize renderer.Viewport
679+ let viewProjection2d = Viewport.getViewProjection2d absolute eyeCenter eyeSize renderer.Viewport
680+ let viewProjectionClip = Viewport.getViewProjectionClip eyeCenter eyeSize renderer.Viewport
680681 match GlRenderer2d.tryGetRenderAsset font renderer with
681682 | ValueSome renderAsset ->
682683 match renderAsset with
@@ -756,7 +757,7 @@ type [<ReferenceEquality>] GlRenderer2d =
756757 let modelTranslation = Matrix4x4.CreateTranslation translation
757758 let modelScale = Matrix4x4.CreateScale scale
758759 let modelMatrix = modelScale * modelTranslation
759- let modelViewProjection = modelMatrix * viewProjection
760+ let modelViewProjection = modelMatrix * viewProjection2d
760761
761762 // upload texture data
762763 let textTextureId = OpenGL.Gl.GenTexture ()
@@ -779,7 +780,7 @@ type [<ReferenceEquality>] GlRenderer2d =
779780 let ( vertices , indices ) = renderer.TextQuad
780781 let insetOpt : Box2 voption = ValueNone
781782 let color = Color.White
782- OpenGL.Sprite.DrawSprite ( vertices, indices, & viewProjection , modelViewProjection.ToArray (), & insetOpt, & clipOpt, & color, FlipNone, textSurfaceWidth, textSurfaceHeight, textTexture, renderer.Viewport, modelViewProjectionUniform, texCoords4Uniform, colorUniform, textureUniform, shader, vao)
783+ OpenGL.Sprite.DrawSprite ( vertices, indices, absolute , & viewProjection2d , & viewProjectionClip , modelViewProjection.ToArray (), & insetOpt, & clipOpt, & color, FlipNone, textSurfaceWidth, textSurfaceHeight, textTexture, renderer.Viewport, modelViewProjectionUniform, texCoords4Uniform, colorUniform, textureUniform, shader, vao)
783784 OpenGL.Hl.Assert ()
784785
785786 // destroy texture
@@ -848,7 +849,8 @@ type [<ReferenceEquality>] GlRenderer2d =
848849 // begin sprite batch frame
849850 let viewProjectionAbsolute = Viewport.getViewProjection2d true eyeCenter eyeSize renderer.Viewport
850851 let viewProjectionRelative = Viewport.getViewProjection2d false eyeCenter eyeSize renderer.Viewport
851- OpenGL.SpriteBatch.BeginSpriteBatchFrame (& viewProjectionAbsolute, & viewProjectionRelative, renderer.SpriteBatchEnv)
852+ let viewProjectionClip = Viewport.getViewProjectionClip eyeCenter eyeSize viewport
853+ OpenGL.SpriteBatch.BeginSpriteBatchFrame (& viewProjectionAbsolute, & viewProjectionRelative, & viewProjectionClip, renderer.SpriteBatchEnv)
852854 OpenGL.Hl.Assert ()
853855
854856 // render frame
0 commit comments