我正在开发一个OpenGL ES应用程序,我需要可视化非常大的网格(大约700000个三角形)。问题是我没有足够的VBO空间来放置这些网格,如果我使用即时渲染,FPS会下降60%或更多(从使用较少三角形的实验中投影)。有没有一个中间的解决方案,我可以使用VBO的最大尺寸的部分网格,然后,对于它的其余部分,使用立即渲染?
发布于 2011-05-07 01:17:24
你不可能同时看到所有的700000个顶点。试着修剪那些你看不见的,把剩下的放在VBO里。
它甚至不需要精确,只需要找出一种快速的方法来摆脱你视图之外的大多数三角形(或者在物体后面,或者太靠近物体,或者其他看不见的东西)。
发布于 2011-05-07 03:04:03
这是在某种嵌入式或手持平台上吗?70万verts是一个很大的模型,但它不是那么大的内存...可能是22MB,这取决于您的verts包含的内容。您是否正在达到单个VBO的最大大小,而不是耗尽VBO的内存?
您可以将模型拆分为多个VBO,并对每个块使用一个绘制调用来渲染各个部分。如果你正在使用索引/剥离的三角形,那么你需要在块之间复制一些顶点。
https://stackoverflow.com/questions/5914727
复制相似问题