Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 public override bool SetPass(int pass)
 {
     return(material.SetPass(pass));
 }
Ejemplo n.º 3
0
 public override bool Use(int pass = 0)
 {
     return(material.SetPass(pass));
 }