protected override void ThreadMission_Pixel(int i, int j)
        {
            base.ThreadMission_Pixel(i, j);
            Vector2 uv = SWTextureProcess.TexUV(texWidth, texHeight, i, j);

            for (int k = 0; k < info.pts.Count; k++)
            {
                if (k == 0)
                {
                    var   p0  = info.pts [SWTextureProcess.LoopID(k - 1, info.pts.Count)];
                    var   p1  = info.pts [SWTextureProcess.LoopID(k, info.pts.Count)];
                    var   p2  = info.pts [SWTextureProcess.LoopID(k + 1, info.pts.Count)];
                    float pcg = SWTextureProcess.PointOnSegPcgSign(uv, p1.after, p2.uv);


                    if (k == info.pts.Count - 1)
                    {
                        pcg = p1.pcg + (1 - p1.pcg) * pcg;
                    }
                    else
                    {
                        pcg = p1.pcg + (p2.pcg - p1.pcg) * pcg;
                    }
                    float innerDis = 0;
                    bool  seg      = SWTextureProcess.Point2SegOnlyDisSign(uv, p1.after, p2.pre, ref innerDis);
                    innerDis = -innerDis;

                    if (seg && (Mathf.Abs(innerDis) <= size))
                    {
                        float g = (innerDis / size + 1) * 0.5f;
                        float b = (pcg > 0.995f || pcg < 0.005f)? 1:0;
                        float a = GreenToAlpha(g);
                        texColorBuffer [(texHeight - j - 1) * texWidth + i] = new Color(pcg, g, b, a);
                    }
                }
                else
                {
                    var   p0  = info.pts [SWTextureProcess.LoopID(k - 1, info.pts.Count)];
                    var   p1  = info.pts [SWTextureProcess.LoopID(k, info.pts.Count)];
                    var   p2  = info.pts [SWTextureProcess.LoopID(k + 1, info.pts.Count)];
                    float pcg = SWTextureProcess.PointOnSegPcgSign(uv, p1.uv, p2.uv);


                    if (k == info.pts.Count - 1)
                    {
                        pcg = p1.pcg + (1 - p1.pcg) * pcg;
                    }
                    else
                    {
                        pcg = p1.pcg + (p2.pcg - p1.pcg) * pcg;
                    }
                    float innerDis = 0;
                    bool  seg      = SWTextureProcess.Point2SegOnlyDisSign(uv, p1.after, p2.pre, ref innerDis);
                    innerDis = -innerDis;

                    if (seg && (Mathf.Abs(innerDis) <= size))
                    {
                        float g = (innerDis / size + 1) * 0.5f;
                        float b = (pcg > 0.995f || pcg < 0.005f)? 1:0;
                        float a = GreenToAlpha(g);
                        texColorBuffer [(texHeight - j - 1) * texWidth + i] = new Color(pcg, g, b, a);
                    }
                }
            }
        }