【问题标题】:Power of two textures两种纹理的力量
【发布时间】:2010-12-16 23:41:36
【问题描述】:

你能解释一下,为什么长时间纹理需要的硬件加速是二次方?对于 PC,自 GeForce 6 以来,我们实现了无 mips 和简化过滤的 npot 纹理。 OpenGL ES 2.0 还支持没有 mipmap 等的 npot 纹理。对此有什么硬件限制?只是简单的算术?

【问题讨论】:

    标签: opengl texture-mapping


    【解决方案1】:

    我想这与能够使用按位左移操作有关,而不是通过乘法将 (x, y) 坐标转换为从纹理开始的内存偏移量。所以是的,从处理器的角度来看,是简化的算术。

    【讨论】:

    • 但硬件可能有与纹理相关的附加缓冲区:指向行的指针数组。访问速度将与两次取消引用一样快。所有这些建议都是从传统 CPU 的角度来看的。对于 GPU,这可能不是真的。例如,x86 的分支非常轻量级,但 GPU 非常慢!换句话说,我想说纹理寻址可能与 CPU 寻址不同。例如,我听说 GPU 按块缓存(例如 32x32 像素),而不是像 CPU 那样按行缓存。最后,我认为两个 deref 非常快。
    【解决方案2】:

    我猜这是为了让 mipmap 生成更容易,因为它允许您将 2x2 像素平均为一个像素,从 NxN 一直到 1x1。

    现在,如果您不使用 mipmapping 也没关系,但只有一个规则会更容易,而且我认为 mipmapping 是更常见的用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多