gpt4 book ai didi

opengl-es - 顶点缓冲区对象的最大大小 (OpenGL ES 2.0)

转载 作者:行者123 更新时间:2023-12-04 02:19:38 26 4
gpt4 key购买 nike

绑定(bind)到 GL_ARRAY_BUFFER 或 GL_ELEMENT_ARRAY_BUFFER 的顶点缓冲区对象是否有最大大小???

最初,我正在绘制一个由 16 个子网格组成的网格。对于每个子网格,我创建了一个顶点缓冲区,在渲染阶段,我调用了 glDrawElements。
这在 iOS 模拟器上运行良好,但是当我尝试渲染到我的设备时,屏幕不断闪烁并且网格不显示。

然后我做了一些阅读,发现你不应该在渲染阶段调用 glDrawElements 太多次。
我试图将所有子网格合并到一个顶点缓冲区中。
绑定(bind)到 GL_ARRAY_BUFFER 的缓冲区包含 3969 个顶点,其中每个顶点包含 20 个浮点数。所以这个缓冲区的大小是 317520 字节。
绑定(bind)到 GL_ELEMENT_ARRAY_BUFFER 的索引是 16425 短裤。因此,此缓冲区的大小为 32850 字节。

在 OpenGL wiki 上,它说对于顶点缓冲区对象,“根据一个 nVidia 文档,1MB 到 4MB 是一个不错的大小”。

在绑定(bind)每个缓冲区对象并调用 glDrawElements 后,我打印了 glGetError 的结果,我没有看到任何错误。
但是,我的网格没有正确显示。似乎只有第一个网格被正确绘制。我实现这个的方式有什么可疑的吗?我不想让这个问题太久,所以如果您需要回答这个问题的任何额外信息,请告诉我。如果理论上没有任何问题似乎是错误的,那么也许我只是在实现它时犯了一个错误。

最佳答案

有一个最大尺寸,从某种意义上说,GPU 总是可以发出 GL_OUT_OF_MEMORY 错误。但除此之外,没有。

关于opengl-es - 顶点缓冲区对象的最大大小 (OpenGL ES 2.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369238/

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