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); }
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); }