GLSL pow 函数?

问题描述 投票:0回答:3

我有这个:

    float xExponential = pow(xPingPong, 5);

并且不起作用,声称:

错误:0:53:没有匹配的重载来调用函数“pow”

我做错了什么吗? 使用 OpenGL ES 2.0 进行 iOS 开发。

iphone opengl-es glsl fragment-shader
3个回答
54
投票

你能试试这个吗?

float xExponential = pow(xPingPong, 5.0);

2
投票

你的代码没问题,只是语法错误

写入至小数位

 float xExponential = pow(xPingPong, 5.0);

 float xExponential = pow(xPingPong, 5.);

0
投票

虽然提供了准确的答案,但最好解释一下为什么这些答案有效。

GLSL 是强类型的。 1、2、3 等被视为 int。 GLSL pow 函数需要一个浮点值。因此,你需要将你的力量转换为浮动力量。

1.
1.0
1.f
1.0f
等被视为浮点值。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.