示例#1
0
        public static void DrawAllLines(object sender, TriMeshDrawEventArgs e)
        {
            GL.Enable(EnableCap.PointSmooth);
            GL.Enable(EnableCap.LineSmooth);
            GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest);
            GL.Hint(HintTarget.PointSmoothHint, HintMode.Nicest);
            GL.Enable(EnableCap.ColorMaterial);

            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);

            for (int i = 0; i < ConfigNPR.Instance.Enable.Length; i++)
            {
                if (ConfigNPR.Instance.Enable[i])
                {
                    if (NPRLines.All[i] is Silluhoute)
                    {
                        GL.Disable(EnableCap.DepthTest);
                        DrawLine(NPRLines.All[i]);
                        GL.Enable(EnableCap.DepthTest);
                    }
                }
            }

            DrawBaseMesh(e.Mesh);

            if (ConfigNPR.Instance.DrawHiddenLine)
            {
                GL.Disable(EnableCap.DepthTest);
            }

            for (int i = 0; i < ConfigNPR.Instance.Enable.Length; i++)
            {
                if (ConfigNPR.Instance.Enable[i])
                {
                    if (!(NPRLines.All[i] is Silluhoute))
                    {
                        DrawLine(NPRLines.All[i]);
                    }
                }
            }
            GL.Disable(EnableCap.Blend);
            GL.Disable(EnableCap.DepthTest);
            GL.Disable(EnableCap.ColorMaterial);
        }
示例#2
0
        public static void DrawAllLines(object sender, TriMeshDrawEventArgs e)
        {
           
            GL.Enable(EnableCap.PointSmooth);
            GL.Enable(EnableCap.LineSmooth);
            GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest);
            GL.Hint(HintTarget.PointSmoothHint, HintMode.Nicest);
            GL.Enable(EnableCap.ColorMaterial);

            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);

            for (int i = 0; i < ConfigNPR.Instance.Enable.Length; i++)
            {
                if (ConfigNPR.Instance.Enable[i])
                {
                    if (NPRLines.All[i] is Silluhoute)
                    {
                        GL.Disable(EnableCap.DepthTest);
                        DrawLine(NPRLines.All[i]);
                        GL.Enable(EnableCap.DepthTest);
                    }
                }
            }

            DrawBaseMesh(e.Mesh);

            if (ConfigNPR.Instance.DrawHiddenLine)
            {
                GL.Disable(EnableCap.DepthTest);
            }

            for (int i = 0; i < ConfigNPR.Instance.Enable.Length; i++)
            {
                if (ConfigNPR.Instance.Enable[i])
                {
                    if (!(NPRLines.All[i] is Silluhoute))
                    {
                        DrawLine(NPRLines.All[i]);
                    }
                }
            }
            GL.Disable(EnableCap.Blend);
            GL.Disable(EnableCap.DepthTest);
            GL.Disable(EnableCap.ColorMaterial);
        }