首页 > 解决方案 > Arrayfire:如何通过另一个数组的元素对数组进行采样?

问题描述

我是 Arrayfire 的新手,正在寻找像 2D 纹理采样这样的方法。

float uvInit[] = { 0, 0,  1, 1,  1, 0,  0, 1 };
array uv = array(4, 2, uvInit, f32);

float texInit[] = { 1, 2, 3, 4 };
array tex = array(2, 2, texInit, f32);

array color = ???????;
// color should be 1d array { 1, 4, 3, 2 },
// e.g. { tex(0, 0), tex(1, 1), tex(1, 0), tex(0, 1) }.

搜索文档但没有找到类似的东西,我什至无法用数组元素索引数组......

array s = ..., g = ...;
gfor(seq i, ...) {
    auto x = g(0, i);    // take an element from g.
    s(x);                // ERROR: no matched function.
}

标签: arrayfire

解决方案


ArrayFire 中最接近插值的兄弟是下页中列出的函数。

http://arrayfire.org/docs/group__approx__mat.htm

如果您不熟悉 ArrayFire/indexing,我强烈建议您阅读文档教程。

http://arrayfire.org/docs/indexing.htm

完整的教程列表(可能不全面,但一个很好的入门)在以下 URL 中给出。

http://arrayfire.org/docs/usergroup0.htm


推荐阅读