public void RenderDebugData(ref UnityEngine.Matrix4x4 projection, ref UnityEngine.Matrix4x4 view, UnityEngine.Material mat) { if (!Enabled) { return; } //Nothing is enabled - don't draw the debug view. if (Flags == 0) { return; } //_device.RasterizerState = RasterizerState.CullNone; //_device.DepthStencilState = DepthStencilState.Default; lineListBatch.Clear(); triangleListBatch.Clear(); //_primitiveBatch.Begin(ref projection, ref view); DrawDebugData(); //_primitiveBatch.End(); if ((Flags & DebugViewFlags.PerformanceGraph) == DebugViewFlags.PerformanceGraph) { //_primitiveBatch.Begin(ref _localProjection, ref _localView); DrawPerformanceGraph(); //_primitiveBatch.End(); } GL.PushMatrix(); mat.SetPass(0); //GL.LoadOrtho(); //GL.MultMatrix(projection); GL.Begin(GL.LINES); int nlines = lineListBatch.Count; for (int i = 0; i < nlines; i++) { GL.Color(lineListBatch[i].Color); GL.Vertex(lineListBatch[i].Position[0]); GL.Vertex(lineListBatch[i].Position[1]); } GL.End(); GL.Begin(GL.TRIANGLES); nlines = triangleListBatch.Count; for (int i = 0; i < nlines; i++) { GL.Color(triangleListBatch[i].Color); GL.Vertex(triangleListBatch[i].Position[0]); GL.Vertex(triangleListBatch[i].Position[1]); GL.Vertex(triangleListBatch[i].Position[2]); } GL.End(); GL.PopMatrix(); // begin the sprite batch effect //_batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend); // draw any strings we have //for (int i = 0; i < _stringData.Count; i++) //{ // _batch.DrawString(_font, string.Format(_stringData[i].S, _stringData[i].Args), // new FVector2(_stringData[i].X + 1f, _stringData[i].Y + 1f), Color.Black); // _batch.DrawString(_font, string.Format(_stringData[i].S, _stringData[i].Args), // new FVector2(_stringData[i].X, _stringData[i].Y), _stringData[i].Color); //} // end the sprite batch effect //_batch.End(); //_stringData.Clear(); }
public override bool SetPass(int pass) { return(material.SetPass(pass)); }
public override bool Use(int pass = 0) { return(material.SetPass(pass)); }