Функции второго порядка в GLSL?

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

общий пример того, чего я пытаюсь достичь:

int f(someType f2, int i) {
    return f2(i);
}

6
задан Chris says Reinstate Monica 29 February 2012 в 15:41
поделиться