Exemple #1
0
        public void ScanConvertLine(Vertex minYVert, Vertex maxYVert, int whichSide)
        {
            int yStart = (int)minYVert.GetY();
            int yEnd   = (int)maxYVert.GetY();
            int xStart = (int)minYVert.GetX();
            int xEnd   = (int)maxYVert.GetX();


            int yDist = yEnd - yStart;
            int xDist = xEnd - xStart;


            if (yDist <= 0)
            {
                return;
            }


            float xStep = (float)xDist / (float)yDist;
            float curX  = (float)xStart;


            for (int j = yStart; j < yEnd; j++)
            {
                m_scanBuffer[j * 2 + whichSide] = (int)curX;
                curX += xStep;
            }
        }
        public float TriangleAreaTimes2(Vertex b, Vertex c)
        {
            float x1 = b.GetX() - m_pos.GetX();
             		    float y1 = b.GetY() - m_pos.GetY();

             		    float x2 = c.GetX() - m_pos.GetX();
             		    float y2 = c.GetY() - m_pos.GetY();

             		    return (x1 * y2 - x2 * y1);
        }
Exemple #3
0
        public float TriangleAreaTimes2(Vertex b, Vertex c)
        {
            float x1 = b.GetX() - m_pos.GetX();
            float y1 = b.GetY() - m_pos.GetY();


            float x2 = c.GetX() - m_pos.GetX();
            float y2 = c.GetY() - m_pos.GetY();


            return(x1 * y2 - x2 * y1);
        }
        public void ScanConvertLine(Vertex minYVert, Vertex maxYVert, int whichSide)
        {
            int yStart = (int)minYVert.GetY();
            int yEnd   = (int)maxYVert.GetY();
             		    int xStart = (int)minYVert.GetX();
            int xEnd   = (int)maxYVert.GetX();

             		    int yDist = yEnd - yStart;
            int xDist = xEnd - xStart;

            if(yDist <= 0)
             		    {
                return;
            }

             		    float xStep = (float)xDist/(float)yDist;
             		    float curX = (float)xStart;

             		    for(int j = yStart; j < yEnd; j++)
             		    {
             			    m_scanBuffer[j * 2 + whichSide] = (int)curX;
             			    curX += xStep;
             		    }
        }