-1

コードが与えられた場合 ( C++ のスキャンライン フィル OpenGL/GLUT アルゴリズムから取得):

void scanfill(float x1,float y1,float x2,float y2,float x3,float y3,float x4,float y4)
{
    int le[500],re[500],i,j;

    for(i=0;i<500;i++)
        le[i]=500,re[i]=0;

    edgedetect(x1,y1,x2,y2,le,re);
    edgedetect(x2,y2,x3,y3,le,re);
    edgedetect(x3,y3,x4,y4,le,re);
    edgedetect(x4,y4,x1,y1,le,re);

    for(j=0;j<500;j++)
    {
        if(le[j]<=re[j])
            for(i=le[j];i<re[j];i++)
                draw_pixel(i,j);
    }
}

re[500]およびle[500]配列とは そして、なぜ500?

4

1 に答える 1

3

それらは左右のエッジ バッファーです。これらは、各水平走査線で塗りつぶされる最小および最大の X 座標を格納します。

500 は、 で指定されているウィンドウの高さですglutInitWindowSize(500,500);

于 2014-12-02T13:46:51.877 に答える