假设您拥有2D GPU纹理资源。使用GPU计算小于特定值的纹素数量的最佳方法是什么(使用DirectX,有无着色器)?
答案 0 :(得分:1)
你可以用两个着色器来计算。
将所有rgb值替换为1或0,具体取决于值是否超过阈值。
使用滤镜内核逐步减小纹理的大小,滤镜内核对纹素进行求和。 假设您的纹理大小为64x64。首先,将它减少到32x32并总结输入纹理的4个相关纹素。重复,直到你有4x4或8x8纹理并将其锁定在CPU端并总结其余部分。结果是您想要的texelcount。您可以使用更大的内核(如4x4)来减少drawcall并将更多工作移至着色器。