c++ - GL_POINTS 只绘制一个点而不是多个点

标签 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();

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

最佳答案

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

关于c++ - GL_POINTS 只绘制一个点而不是多个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957129/

相关文章:

OpenGL 纹理交换

Java - 通过设置绘制立方体面的点的位置来设置旋转

c++ - 给 long long c++ 赋值时应该使用 LL

c++ - 在opencv中将Mats保存到int数组中

java - 我没有告诉它 VBO 渲染顶点

c++ - 无法显示 OpenGL 纹理

c++ - 在不调整内容大小的情况下调整 GLUT 窗口的大小?

c++ - HWLOC 链接错误

c++ - 试图让异步在 Windows C++ 应用程序中工作

c++ - 基于 OpenCV 标识识别的 ICPR 2010 文章