我创建了一个程序(C++/OpenGL),它使用 OpenSimplex 噪声生成景观并将其绘制为一个网格(因此我必须每帧仅调用一次绘制函数)。我正在使用glDrawElements函数。网格包含 1023 * 1023 个矩形 = 1023 * 1023 * 2 个三角形,景观看起来像 PS1 游戏中的一样,并使用超过 500 MB 的 RAM。如何在不使用这么多三角形的情况下制作平滑的景观(就像在现代游戏中一样)?
编辑:拥有少量不同详细的 VBO,并从最详细的 VBO 绘制最近的三角形,从不太详细的 VBO 绘制较远的三角形,是否会有效?
现代游戏通常使用一系列技术来渲染高质量的场景。
基本上,如果你想要平滑的 GEO,你需要添加
诀窍是最大限度地减少渲染给定帧所需的三角形数量,而不是担心总共有多少个三角形。
ps 1024 * 1024 * vec3 是 18Mb 顶点数据(+18Mb 普通数据,+24Mb 索引数据)。如今,我们有数千兆的内存可用于 GPU,因此几兆并不是什么大问题。同样,Geo-Mipmapping 会将索引数据量减少到最低限度。
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |