Ejemplo n.º 1
0
        protected override void OnDraw(double time, double delta)
        {
            if (CursorSprite is null)
            {
                return;
            }
            if (MeshRenderer is null)
            {
                throw new NullReferenceException("MeshRenderer is null");
            }
            if (CursorSprite.SpriteSet.Texture is null)
            {
                throw new NullReferenceException("CursorSprite's spriteset has a null texture");
            }

            // Disable depth testing and writing
            GL.Disable(EnableCap.DepthTest);
            GL.DepthMask(false);
            // Render
            MeshRenderer.Begin();
            ShaderProgram.SetTextureSource(CursorSprite.TopLeftCoord, CursorSprite.SizeCoord);
            CursorSprite.SpriteSet.Texture.BindDiffuse();
            var trans = Transform.Matrix;

            MeshRenderer.DrawMesh(Mesh, ref trans, Color.White, BlendType.AlphaPremultiplied);
            MeshRenderer.End();
            // Enable depth settings
            GL.Enable(EnableCap.DepthTest);
            GL.DepthMask(true);
        }
Ejemplo n.º 2
0
 protected override void OnDraw(double time, double delta)
 {
     if (!(Mesh is null))
     {
         if (TileExtensions.SpriteSet.Texture is null)
         {
             throw new NullReferenceException("SpriteSet texture is null");
         }
         // Enable depth testing
         GL.Enable(EnableCap.DepthTest);
         // Render
         MeshRenderer.Begin();
         TileExtensions.SpriteSet.Texture.BindDiffuse();
         DiffuseSampler.BindDiffuse();
         var trans = Matrix4 <float> .Identity;
         MeshRenderer.DrawMesh(Mesh, ref trans, Color.White, BlendType.Alpha);
         MeshRenderer.End();
     }
     base.OnDraw(time, delta);
 }