代码之家  ›  专栏  ›  技术社区  ›  Viktor Sehr

GLVICTATABRIB指针和步长参数要求

  •  1
  • Viktor Sehr  · 技术社区  · 7 年前

    我有一只奇怪的虫子 opengl / 格尔斯 我正在开发的应用程序。在某种装置上( 三星Galaxy S8 看来 glVertexAttribPointer 如果“步幅”参数设置为 十八 字节。如果我向每个组件添加两个字节的填充,jibberish就会消失( 二十 总共字节)。

    注意没有 glGetError 无论如何都会被触发。

    这个bug不会出现在我测试过的任何其他移动设备上,也不会出现在运行正常的Windows计算机上。 opengl .

    我的猜测是步幅必须是多个4字节,但我似乎找不到任何文档来验证这一点。

    有人知道步幅参数是否有特定于设备的要求吗?

    (18个字节由3个 浮标32 接三个 因特16T =3*4字节+3*2字节)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Nicol Bolas    7 年前

    是大步 必修的 按规范对齐到4个字节?不。

    有没有硬件可以有效地满足这一要求呢?是的,事实证明,Vulkan有这个要求。所以你应该避免数据错位。

    推荐文章