sch*_*enk 0 cloud opengl static drawing point
是否可以在 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();
Run Code Online (Sandbox Code Playgroud)
然后例如围绕这个云旋转?不用每次都画一遍吗?
我已经厌倦了这个,但又来了:
OpenGL 不是场景图!OpenGL 不维护场景。它是一个绘图 API,为您提供在画布上绘图的绘图工具。它绘制点、线和三角形,一旦绘制了图元,OpenGL 就不会记住它。唯一剩下的是帧缓冲区中颜色发生变化的像素。
旧的 OpenGL(OpenGL-2.1 之前并包括 OpenGL-2.1)有一个称为“显示列表”的工具,它允许记录绘图命令的“宏”类型。它们的行为有点像“场景”,但事实并非如此。它们只是绘图命令的列表。
因此,如果你改变了某些东西,无论只是观点,你都必须重新绘制整个东西。