java - glBufferData 使用 Buffer 的哪一部分
问题描述
a 的哪个部分使用Buffer
?android.opengl.GLES20.glBufferData
约定是 NIO 缓冲区使用者读取和之间的remaining
数据项。对玩具应用程序和模拟 Android 的快速实验表明,至少确实考虑到了这一点。但另一方面,受 C 语言影响的 OpenGL API 给人一种低级的感觉,并且该函数确实带有自己的参数,即使在典型的 NIO 约定中已经有了这些信息。所以我想知道我能在多大程度上信任该公约的其余部分。position
limit
position
size
remaining
是否有一些文档明确指出使用的数据从缓冲区开始position
而不是从缓冲区开始?size
并且理想情况下还澄清了论点glBufferData
与价值之间的关系Buffer.remaining()
,特别是如果后者更小?
除非有如此清晰的文档,我能相信我的实验多远?通常我倾向于假设任何未记录的内容可能取决于实施。是否存在某些供应商图形驱动程序或未来的 Android 更新可能会改变此 Java API 级别的行为并以不同方式解释缓冲区的真正危险?
我应该使用Buffer.slice
只是为了在兼容性方面安全吗?
解决方案
推荐阅读
- python - 如何在熊猫数据框中使用带有任何正则表达式的字符串过滤行
- python - matplotlib 中矩形阵列的曲面图
- reactjs - Reducer does not fire although action does
- python - Mask_RCNN。训练 Ballon.py 错误:使用形状分配张量时出现 OOM
- go - 如何将结构转换为基本类型,而不是 Go 中的直接类型?
- javascript - Vue.js Facebook 登录
- maven - 排除所有并在包中仅包含一个类
- javascript - 开玩笑地在测试/它之外定义包装器是最佳实践吗?
- javascript - 将图像链接到 PDF 文件的问题
- xcode - 在 Swift 4.2 Xcode 10 中使用动作扩展从 Safari 共享 PDF 文件失败