我试图在3D空间的随机位置展示尽可能多的文稿。 在我迄今的经验中,我甚至无法显示其中的数千人,而不会大量 under落到30处(我的照相机动稿变成滞后期)。
我现在看着一个古老的理论。 在启动开放式GL之后:
glEnable(GL_TEXTURE_2D);
glShadeModel(GL_SMOOTH);
glClearColor(0, 0, 0, 0);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
我提出了 viewpoint和观点:
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
然后,我装上一些文字:
glGenTextures(TEXTURE_COUNT, &texture[0]);
for (int i...){
glBindTexture(GL_TEXTURE_2D, texture[i]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
gluBuild2DMipmaps(GL_TEXTURE_2D,3,TextureImage[0]->w,TextureImage[0]->h,GL_RGB,GL_UNSIGNED_BYTE,TextureImage[0]->pixels);
}
最后,我引用我的GL。 使用:
glBindTexture(GL_TEXTURE_2D, q);
glTranslatef(fDistanceX,fDistanceZ,-fDistanceY);
glBegin(GL_QUADS);
glNormal3f(a,b,c);
glTexCoord2f(d, e); glVertex3f(x1, y1, z1);
glTexCoord2f(f, g); glVertex3f(x2, y2, z2);
glTexCoord2f(h, k); glVertex3f(x3, y3, z3);
glTexCoord2f(m, n); glVertex3f(x4, y4, z4);
glEnd();
glTranslatef(-fDistanceX,-fDistanceZ,fDistanceY);
我认为,所有这部法典都是自我解释的。 不幸的是,正如我所知,这种做事的方式被贬低。 我在互联网上读到了有关PBO和OtexArrays的一些模糊内容,但是,我没有发现任何关于如何使用这些物品的理论。 我甚至不知道这些物体是否适合实现我试图在这里做些什么(在屏幕上,有10亿之四没有滞后)。 也许在座的任何人都可以向我提出明确的建议,即我应该利用什么来实现这一结果? 如果你会再花一分钟的时间,你能否给我一个简短的概要,说明如何使用这些职能(如上文解释的那样)?