我想在屏幕上绘制许多多边形,但很快就注意到它会迅速变慢。作为一个测试,我做了这个:
for(int i = 0; i < 50; ++i)
{
glBegin( GL_POLYGON);
glColor3f( 0.0f, 1, 0.0f ); glVertex2f( 500.0 + frameGL.GetCameraX(), 0.0f + frameGL.GetCameraY());
glColor3f( 0.0f, 1.0f, 0.0f ); glVertex2f( 900.0 + frameGL.GetCameraX(), 0.0f + frameGL.GetCameraY());
glColor3f( 0.0f, 0.0f, 0.5 ); glVertex2f(900.0 + frameGL.GetCameraX(), 500.0f + frameGL.GetCameraY() + (150));
glColor3f( 0.0f, 1.0f, 0.0f ); glVertex2f( 500 + frameGL.GetCameraX(), 500.0f + frameGL.GetCameraY());
glColor3f( 1.0f, 1.0f, 0.0f ); glVertex2f( 300 + frameGL.GetCameraX(), 200.0f + frameGL.GetCameraY());
glEnd();
}
这只有50个多边形,但已经开始变慢了。我不能直接上传它们到卡片上,因为我的程序将允许用户重新塑造顶点。
我的问题是,如何加速这个过程。我没有使用深度。我也知道不是我的GetCamera()函数的问题,因为如果我创建500,000个多边形并分散开来,它就没问题了,只是在视图中显示它们有困难。如果一个显卡可以每秒支持500,000,000个屏幕上的多边形,那应该很容易对吧?
谢谢