Я ищу способ использовать функцию в качестве аргумента для другой функции в GLSL. В обычном C это можно смоделировать, передав указатель функции в качестве аргумента функции. Также кажется, что другие языки (например, HLSL) теперь предоставляют способы работы с высокоуровневыми конструкциями, такими как функции более высокого порядка, или могут имитировать их с помощью умного использования структур HLSL . К сожалению, я пока застрял в GLSL и не могу найти способ имитировать функции более высокого порядка. Действительно ли это невозможно в текущем (4.2) GLSL? Или я пропустил какой-то хитрый трюк?
Типичный пример того, чего я пытаюсь достичь:
int f(someType f2, int i) {
return f2(i);
}