gpt4 book ai didi

c++ - OpenGL体素引擎慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:00 24 4
gpt4 key购买 nike

我正在用 C++ 和 OpenGL(在 Minecraft 中)制作一个体素引擎,但在我的 ATI X1600 的 3GHz 上无法获得不错的 fps...我完全没有想法。

当我的屏幕上有大约 12000 个立方体时,它会降到 20fps 以下 - 可悲。

到目前为止,我进行的优化是:截锥体剔除、背面剔除(通过 OpenGL 的 glEnable(GL_CULL_FACE))、引擎仅绘制可见面(当然剔除面除外)并且它们位于八叉树中。

我试过 VBO,我不喜欢它们,而且它们不会显着提高帧率。

Minecraft 的引擎怎么能这么快...我很难处理 10000 个立方体,而 Minecraft 可以轻松以更高的 fps 绘制更多。

有什么想法吗?

最佳答案

@genpfault: I analyze the connectivity and just generate faces for the outer, visible surface. The VBO had a single cube that I glTranslate()d

我不是 OpenGL 方面的专家,但据我所知,这将节省很少的时间,因为您仍然必须将每个立方体发送到卡片。

您应该做的是为所有外部可见表面生成面,将其放入 VBO 中,然后将其发送到卡片并继续渲染该 VBO,直到几何形状发生变化。这为您节省了大量时间,您的卡实际上是在等待您的处理器向其发送几何信息。

关于c++ - OpenGL体素引擎慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com