我有一只奇怪的虫子 opengl / 格尔斯 我正在开发的应用程序。在某种装置上( 三星Galaxy S8 看来 glVertexAttribPointer 如果“步幅”参数设置为 十八 字节。如果我向每个组件添加两个字节的填充,jibberish就会消失( 二十 总共字节)。
glVertexAttribPointer
注意没有 glGetError 无论如何都会被触发。
glGetError
这个bug不会出现在我测试过的任何其他移动设备上,也不会出现在运行正常的Windows计算机上。 opengl .
我的猜测是步幅必须是多个4字节,但我似乎找不到任何文档来验证这一点。
有人知道步幅参数是否有特定于设备的要求吗?
(18个字节由3个 浮标32 接三个 因特16T =3*4字节+3*2字节)
是大步 必修的 按规范对齐到4个字节?不。
有没有硬件可以有效地满足这一要求呢?是的,事实证明,Vulkan有这个要求。所以你应该避免数据错位。