English 中文(简体)
开放式选举——快速成像?
原标题:OpenGL - Fast Textured Quads?

我试图在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亿之四没有滞后)。 也许在座的任何人都可以向我提出明确的建议,即我应该利用什么来实现这一结果? 如果你会再花一分钟的时间,你能否给我一个简短的概要,说明如何使用这些职能(如上文解释的那样)?

最佳回答

也许在座的任何人都可以向我提出明确的建议,即我应该利用什么来实现这一结果?

“结果”是什么? 你没有很好地解释你重新努力取得什么成就。 各位都说,你再次试图提取许多案文。 你们试图通过这些文本来do?

例如,根据相同的六氯乙烯数据,你似乎正在制造同样的 text和高。 但是,你将这些物品储存在不同的文本物体中。 开放式GL并不了解它们含有同样的数据。 因此,在你作出裁员时,你花了许多时间去掉案文。

如果你只是随意抽取,以测试业绩,那么问题就毫无意义。 这种测试是毫无意义的,因为它们完全是人为的。 他们只测试了这种人为的情景,你每次重新改动案文。

在不知道你试图最终做什么的情况下,我所能做的唯一事情是提供一般业绩咨询。 为了(例如:在你面前首先做的是后来的事情):

  1. 停止修改案文。 你们可以把多种图像放在同一个文本中,然后把使用该文本的所有缩略语放在一起,只打一个<代码>gl BindTexture。 标的正文坐标具体指明了在文本中使用哪一种图像。

  2. 停止使用<条码>gl Translate,将每一条列。 你们可以把它放在四类的位置上,但是,你应该做的是算术,来赞扬四舍五入的位置。 ∗ 待印发。 电话已经发出,你可以在一个<条码>(glBegin/glEnd的座位上放置多个舱位。

  3. 假设您的舱位是静态的(在模型空间中的固定位置),考虑使用bufferbject储存和。 页: 1

我在互联网上读到了有关PBO和vertexArrays的一些模糊之处,但是,我没有找到任何关于如何使用这些装置的指南。

Did you try the OpenGL Wiki, which has a pretty good list of tutorials (as well as general information on OpenGL)? In the interest of full disclosure, I did write one of them.

问题回答

我听说,在现代游戏中,多功能游戏器在实时上提供。

实际是数百万人。 我假定你改用德语:“Milliarde”将英语翻译成“Billion”。

Right now I am following an ancient tutorial.

这是你的主要问题。 当代的开放式文化应用并不使用古老的代用品方法。 你再次采用即时方式,这意味着你要重新履行几项职能,就要求提交一份独一无二的文件。 这非常低效。 现代应用,如游戏,可能达到高三角点,因为它们不会浪费其要求履行许多职能的时间,也不会浪费CPU-GPU带宽的数据。

为了达到在实时时提供的高分数三角分数,你必须将所有地理测量数据放在“最记忆”中,即在制图卡上,将区域测量数据放在区域评估中。 公开招标技术称为“Vertex Buffer Object”。 借助VBO,你可以使用单一绘画电话(glDrawArrays、冰川及其亲属)提取大量的地貌。

在了解地貌之后,你必须成为万国邮联的ice子。 如果你经常改变文字或斜体,万国邮联就不喜欢。 改换案文使海滩内容无效,改用斜线意味着固定总公司管道,但更糟糕的是,这意味着执行路径预测统计数据无效(总检查组收集的统计数据表明,执行梯子的道路最有可能执行,并且记忆中显示的准入模式,这种模式被用来使执行得更好。





相关问题
What to look for in performance analyzer in VS 2008

What to look for in performance analyzer in VS 2008 I am using VS Team system and got the performance wizard and reports going. What benchmarks/process do I use? There is a lot of stuff in the ...

SQL Table Size And Query Performance

We have a number of items coming in from a web service; each item containing an unknown number of properties. We are storing them in a database with the following Schema. Items - ItemID - ...

How to speed up Visual Studio 2008? Add more resources?

I m using Visual Studio 2008 (with the latest service pack) I also have ReSharper 4.5 installed. ReSharper Code analysis/ scan is turned off. OS: Windows 7 Enterprise Edition It takes me a long time ...

Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

热门标签