gpt4 book ai didi

struct - GLSL 中的二阶函数?

转载 作者:行者123 更新时间:2023-12-04 15:14:33 24 4
gpt4 key购买 nike

我正在寻找一种方法来使用一个函数作为 GLSL 中另一个函数的参数。在常规 C 中,可以通过将函数指针作为函数参数传递来模拟。其他语言(如 HLSL)现在似乎也提供了处理高阶函数等高级结构的方法,或者可以用 clever use of HLSL structures 模拟它们。 .不幸的是,我现在被 GLSL 困住了,我找不到任何方法来模拟高阶函数。在当前的 (4.2) GLSL 中真的不可能吗?还是我错过了一些聪明的技巧?

我试图实现的常见示例:

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

最佳答案

I'm looking for a way to use a function as an argument to another function in GLSL.



简短的回答:你不能。

与您在 GLSL 中获得的此类功能最接近的是 shader subroutines .这仅允许外部 OpenGL API 选择要使用的子程序,而不是着色器本身。

所以就做 switch/case声明并解决它。

关于struct - GLSL 中的二阶函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com