1

假设您有一个 2D GPU 纹理资源。使用 GPU(使用 DirectX,有或没有着色器)计算小于某个值的纹素数量的最佳方法是什么?

4

1 回答 1

1

你可以用两个着色器来计算这个。

  1. 将所有 rgb 值替换为 1 或 0,具体取决于值如何超过阈值。

  2. 使用过滤器内核逐步减小纹理的大小,该过滤器内核汇总了纹素。假设您的纹理大小为 64x64。首先你把它缩小到 32x32 并总结输入纹理的 4 个相关纹素。重复直到您拥有 4x4 或 8x8 纹理并将其锁定在 CPU 端并将其余部分相加。结果是您想要的 texelcount。您可以使用更大的内核(如 4x4)来减少绘制调用并将更多工作转移到着色器上。

于 2013-02-09T14:40:48.843 回答