我有一个2D纹理,我想找到此纹理内最小值的位置(x,y),知道吗?
平台:OpenGL ES 2.0 Android。
注意:OpenGL ES2.0不支持mipmap渲染。
您可能会考虑利用mipmap LOD的层次结构性质,并将较大的点簇的最小值写入较低的LOD。您可以按照这种方式在Mip链中向上查找,以找到确切的最低值(和位置)。通过扩展,如果您使用两个通道的纹理,您也可以写入最大值,并将其也用于最大确定。您当然会增加内存需求,但是最小/最大位置的操作将非常快比较。
这项技术从字面上被称为最小/最大纹理。尽管它最常用于阴影环境中,但它有许多用途。O (n)
无需进行耗时的搜索,您可以使用mipmap将纹理结构化为树状结构,并O (log n)
在GPU上及时执行相同的操作。您确实需要花费额外的处理来生成最小/最大LOD,但这是一次性的操作。
在下面的链接提供的最小/最大纹理相当多的细节,我相信你可以找到更多的在谷歌...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句