public override void Draw(Action <TexturedVertex2D> vertexAction) { base.Draw(vertexAction); if (texture?.Available != true || segments.Count == 0) { return; } GLWrapper.PushDepthInfo(DepthInfo.Default); // Blending is removed to allow for correct blending between the wedges of the path. GLWrapper.SetBlend(BlendingParameters.None); pathShader.Bind(); texture.TextureGL.WrapMode = TextureWrapMode.ClampToEdge; texture.TextureGL.Bind(); updateVertexBuffer(); pathShader.Unbind(); GLWrapper.PopDepthInfo(); }
protected override void PreDrawMesh() { profile.Save(); GL.FrontFace(FrontFaceDirection.Ccw); GLWrapper.PushScissorState(false); GLWrapper.PushDepthInfo(new DepthInfo(false)); GLWrapper.BindBuffer(BufferTarget.ElementArrayBuffer, 0); GLWrapper.BindBuffer(BufferTarget.ArrayBuffer, 0); }
public override void Draw(Action <TexturedVertex2D> vertexAction) { base.Draw(vertexAction); if (texture?.Available != true || segments.Count == 0) { return; } GLWrapper.PushDepthInfo(DepthInfo.Default); Shader.Bind(); texture.TextureGL.WrapMode = TextureWrapMode.ClampToEdge; texture.TextureGL.Bind(); updateVertexBuffer(); Shader.Unbind(); GLWrapper.PopDepthInfo(); }