gpt4 book ai didi

android - 我应该单独存储转换矩阵吗?

转载 作者:行者123 更新时间:2023-11-29 00:39:40 24 4
gpt4 key购买 nike

我是 OpenGL ES 2.0 的新手,我正在尝试一些二维渲染。

假设每个对象都将被平移、旋转、倾斜和缩放,并且可以通过单击鼠标来选择,我现在有两个选择:

  • 为每个变换存储一个矩阵,并将它们分别传递给顶点着色器。矩阵乘法将在 GPU 上完成,我想这会更快。当只改变其中一个变换矩阵时也很方便。决定选择有点繁重,因为我需要将每个矩阵应用到一个向量。

  • 只存储一个矩阵作为所有变换矩阵的乘积,并将其传递给顶点着色器。这可能很好,因为 Matrix.scaleM()Matrix.translateM() 等方法速度很快,不需要乘法。也是因为我们每帧上传到shader的统一数据减少了。但每次变换矩阵之一发生变化时,整个乘积都应重新计算。决定选择相对简单,因为我只需要将单个矩阵应用于向量。

    欢迎就选择提出任何建议。

  • 最佳答案

    如果进行基准测试会更好,因为性能与多个关注点相关:

  • CPU和GPU乘法性能的差距。
  • 制服上传带宽。
  • 应用变换的顶点数。
  • 仅将一个转换矩阵标记为脏的可能性。
  • 改变转换参数的频率。

    通常可以在本地执行此操作,因为在仅涉及 2D 对象时可以轻松优化矩阵乘法。

  • 关于android - 我应该单独存储转换矩阵吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10255978/

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