我正在研究 OpenGL 程序,我必须计算一个边界框。我编写了代码来执行此操作,但无法从 vertex buffer 获取顶点坐标。有人可以向我解释一种从顶点缓冲区获取数据的简单方法吗?
我正在使用 Java for android 和 OpenGL es
如果您使用OpenGL ES 3.0或更高版本,则可以使用glMapBufferRange()
直接访问缓冲区数据。请参阅man page有关功能的详细信息,以及GLES30 文档有关 Android 中 Java 绑定的详细信息。
我认为 ES 2.0 中没有任何合理的方法可以做到这一点。我可以想出绝对糟糕的方法,但如果引导你朝那个方向走,我会感到很难过。好吧,为了完整起见,但是请不要这样做:您可以渲染最终将顶点数据留在渲染目标中的内容,然后使用glReadPixels()
.
如果您需要在自己的代码中频繁访问顶点数据,那么保留它的副本很可能会更好。当你打电话时你已经有了数据glBufferData()
。如果您目前正在将其扔掉glBufferData()
调用,只需保留它,并在需要访问顶点数据时使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)