Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;opengl扫描线算法_C++_Opengl_Scanline - Fatal编程技术网

C++ c++;opengl扫描线算法

C++ c++;opengl扫描线算法,c++,opengl,scanline,C++,Opengl,Scanline,给定代码(取自): void scanfill(浮点数x1、浮点数y1、浮点数x2、浮点数y2、浮点数x3、浮点数y3、浮点数x4、浮点数y4) { int-le[500],re[500],i,j; 对于(i=0;i它们是左右边缘缓冲区。它们存储每个水平扫描线上要填充的最小和最大X坐标 500是在glutInitWindowSize(500500);中指定的窗口高度 void scanfill(float x1,float y1,float x2,float y2,float x3,float

给定代码(取自):

void scanfill(浮点数x1、浮点数y1、浮点数x2、浮点数y2、浮点数x3、浮点数y3、浮点数x4、浮点数y4)
{
int-le[500],re[500],i,j;

对于(i=0;i它们是左右边缘缓冲区。它们存储每个水平扫描线上要填充的最小和最大X坐标

500是在
glutInitWindowSize(500500);
中指定的窗口高度

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);
    }
}