GL_POINTS只绘制一个点而不是多个点

时间:2014-11-16 12:53:54

标签: c++ opengl

我有这个代码,它应该在屏幕上绘制一些点:

glBegin(GL_POINTS);
    for(int i = 0; i < x; i++)
    {
        for(int j = 0; j < y; j++)
        {
            glColor3f(0,0,0);
           glVertex3f(array1[i][j], array2[i][j], array3[i][j]); 
           cout<<array1[i][j]<<" "<<array2[i][j]<<" "<<array3[i][j]<<endl;
        }
    }

glEnd();

我只在屏幕上得到一分。我无法想象这是怎么回事。我正在打印数组值,它们都是不同的,但我只得到一点而不是几百点。你能说出这段代码有什么问题吗?

1 个答案:

答案 0 :(得分:2)

可能是数据集中只有一个点落在视口中,或者所有点最终都投影到一个可见像素。无论哪种方式,您都应该检查您的投影范围。您可以提取数据集的边界框,set the viewing volume略大于此。