public LineRenderer(Renderer renderer, IShader shader) { this.renderer = renderer; this.shader = shader; vertices = new Vertex[renderer.TempBufferSize]; renderAction = () => { renderer.SetLineWidth(LineWidth); renderer.DrawBatch(vertices, nv, PrimitiveType.LineList); }; }
public void Flush() { if (nv > 0) { shader.Render(() => { var vb = renderer.GetTempVertexBuffer(); vb.SetData(vertices, nv); renderer.SetLineWidth(LineWidth * Game.viewport.Zoom); renderer.DrawBatch(vb, 0, nv, PrimitiveType.LineList); }); nv = 0; } }
public void Flush() { if (nv > 0) { renderer.Device.SetBlendMode(BlendMode.Alpha); shader.Render(() => { var vb = renderer.GetTempVertexBuffer(); vb.SetData(vertices, nv); renderer.SetLineWidth(LineWidth); renderer.DrawBatch(vb, 0, nv, PrimitiveType.LineList); }); renderer.Device.SetBlendMode(BlendMode.None); nv = 0; } }