gpt4 book ai didi

opengl - 在opengl中绘制体素(立方体)的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-03 20:26:24 26 4
gpt4 key购买 nike

我想通过使用 opengl 来绘制体素,但它似乎不受支持。我制作了一个立方体绘制函数,它有 24 个顶点(每个面 4 个顶点),但是当你绘制 2500 个立方体时它会降低帧速率。我希望有更好的方法。理想情况下,我只想将位置、边缘大小和颜色发送到显卡。我不确定是否可以通过使用 GLSL 编译指令作为片段着色器或顶点着色器的一部分来做到这一点。

我搜索了谷歌,发现了点 Sprite 和广告牌 Sprite (同样的事情?)。这些可以用作更快地绘制立方体的替代方法吗?如果我使用 6 个,每张脸一个,似乎向显卡发送的信息会少得多,并有望获得更好的帧速率。

另一个想法是,也许我可以使用一个 drawelements 调用绘制多个立方体?

也许有一个我不知道的更好的方法?任何帮助表示赞赏。

最佳答案

用立方体绘制体素几乎总是错误的方法(异常(exception)情况是光线追踪)。您通常想要做的是将数据放入 3D 纹理并根据相机位置渲染切片。见此页:https://developer.nvidia.com/gpugems/GPUGems/gpugems_ch39.html您可以通过搜索“volume rendering gpu”找到其他技术。
编辑:在编写上述答案时,我没有意识到 OP 很可能对 Minecraft 如何做到这一点感兴趣。有关加速 Minecraft 风格光栅化的技术,请查看 Culling techniques for rendering lots of cubes .尽管随着图形硬件的最新进展,通过光线追踪渲染 Minecraft 可能会成为现实。

关于opengl - 在opengl中绘制体素(立方体)的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3794500/

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