打开GL绘制静态点



是否可以在Open-GL中绘制静态点云

glBegin(GL_POINTS);
for(float x = -1; x < 1; x += 0.1) 
{
    for(float y = -1; y < 1; y += 0.1) 
    {
        for(float z = -1; z < 1; z += 0.1)
        {
            float d = 1-sqrt((x * x) + (y * y) + (z * z));
            glColor3f(d, d, d);
            glVertex3f(x, y, z);
        }
    }
}
glEnd();

然后绕这个云旋转?不需要每次都重新绘制吗?

我已经厌倦了这个,但是它又来了:

OpenGL不是场景图! OpenGL不维护场景它是一个绘图API,为你提供绘图工具在画布上绘图。它绘制点、线和三角形,一旦一个原语被绘制出来,OpenGL就不记得它了。唯一剩下的是帧缓冲区中颜色改变的像素。

旧的OpenGL(之前和包括OpenGL-2.1)有一个叫做"显示列表"的工具,它允许记录各种绘图命令的"宏"。他们的行为有点像一个"场景",但他们不是。它们只是一个绘图命令列表。

所以如果你改变了一些东西,即使只是改变了观点,你必须重新绘制整个东西

我找到了一个解决方案:

预先计算点保存在数组中并渲染整个数组

最新更新