gpt4 book ai didi

opengl - GLSL 宏扩展可以做到这一点吗?

转载 作者:行者123 更新时间:2023-12-04 23:06:45 25 4
gpt4 key购买 nike

考虑以下 GLSL 函数:

float Pow3 (const in float f) {
return f * f * f;
}

float Pow4 (const in float f) {
return f * f * f * f;
}

float Pow5 (const in float f) {
return f * f * f * f * f;
}

... 等等。有没有办法 #define 一个可以在编译时生成 n 个自身乘法的 GLSL 宏,当然不使用内置的 GLSL pow() 函数?

最佳答案

GLSL 预处理器“等于”标准 C 预处理器。实际上,您可以使用以下预处理器定义来达到您想要的效果:

#define POW(a, b) Pow ## b ## (a)

但请注意,因为连接运算符 ( ## ) 仅从 GLSL 1.30 开始可用。事实上,使用以前的 GLSL 版本这个宏会产生一个编译器错误。

仍然想知道你为什么不使用 pow 函数......

关于opengl - GLSL 宏扩展可以做到这一点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467672/

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