【发布时间】:2013-07-12 21:13:17
【问题描述】:
假设我只想绘制一个简单的 OpenGL 三角形。我知道我可以在主文件中绘制一个三角形,我所有的 OpenGL 东西都是通过以下方式设置的:
glBegin( GL_TRIANGLES );
glVertex3f( 0.0f, 1.0f, 0.0f );
glVertex3f( -1.0f,-1.0f, 0.0f );
glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();
但是我不想在我的主文件中包含所有这些杂乱无章的东西,而是想通过使用一个名为“Triangle”的类和一个“Draw”函数来绘制一个三角形,所以我的代码看起来像这样:
Triangle TheTriangle;
TheTriangle.draw();
简而言之,我怎样才能用一些可以通过函数绘制的 OpenGL 形状来创建一个类?
【问题讨论】:
-
那是老式的 OpenGL。为什么不使用更新的基于着色器的 API?
-
我刚开始使用 OpenGL...我不知道基于着色器的 API 是什么。你能解释一下吗?
-
谢谢。看起来他们正在使用 GLUT,有人告诉我 GLUT 不是最好的,所以我要使用 SDL。我不确定这是否会改变任何事情。
-
GLUT 将 OpenGL 连接到您的窗口系统。你可以使用任何你想要的东西。 OpenGL 功能是一样的。