Attribute Wrangleノードのなかで、ある配列を間引いて新たな配列を得るために再帰関数を使う必要があります。
しかし、公式のVEX言語リファレンスによると
>関数は、コンパイラで自動的にインラインされます。そのため、再帰関数は動作しません。再帰アルゴリズムを書くには、代わりにシェーダコールを使います。
https://www.sidefx.com/ja/docs/houdini/vex/lang.html [www.sidefx.com]
とあります。
そこで、シェーダコールのサンプル
https://www.sidefx.com/ja/docs/houdini/vex/shadercalls.html [www.sidefx.com]
>再帰シェーダ:
>
cvex fib(int i = 0; export int rval = 0) { if (i >= 2) { int v1, v2; fib("i", i-1, "rval", v1); fib("i", i-2, "rval", v2); rval = v1 + v2; } else rval = i; printf("%d: %d\n", i, rval); }
をコピペしてみても、Invalid return type(cvex) for function fibとなってしまいます。
VEXで再帰関数を使う方法をご教授願います。