gpt4 book ai didi

opengl - 我什么时候应该在 OpenGL 中使用 STD140?

转载 作者:行者123 更新时间:2023-12-04 03:28:42 25 4
gpt4 key购买 nike

何时将 STD140 用于 OpenGL 中的统一块?

虽然我不是 100% 确定,但我相信有一种替代方法可以实现相同的目的,称为“共享”。

它只是对编码器的偏好吗?或者是否有理由使用一个而不是另一个?

最佳答案

统一缓冲区对象在 http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt 中描述

统一块的数据存储可以声明为使用内存中的三种布局之一:packed , shared , 或 std140 .

  • packed统一块具有与实现相关的数据布局以提高效率,编译器可能会消除未使用的统一块以节省空间。
  • shared统一块,默认布局,具有与实现相关的数据布局以提高效率,但布局将由块的结构唯一确定,允许跨程序共享数据存储。
  • std140统一块具有标准的跨平台跨供应商布局。未使用的制服不会被淘汰。
  • std140统一块布局,保证特定的打包行为,不需要应用程序查询偏移量和步幅。在这种情况下,最小大小仍然可能被查询,即使它是仅根据统一块声明预先确定的。统一块中每个统一块的偏移量可以通过应用 OpenGL 规范中描述的规则集从统一块的定义中导出。

    关于opengl - 我什么时候应该在 OpenGL 中使用 STD140?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270846/

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