剂量1.-1在所有着色器语言中的含义



我看到了这样的glsl代码:

vec3 color = vec3(.0);
float var = 0;
color += 1.-step(0.2,var);

color += 1.-step(0.2,var)是什么意思,我发现它也适用于cg语言。它还有其他形式:1.-11.-0

.-是操作员吗?

1.被称为浮点常量(请参阅GLSL规范的第4.1.4节浮点(。-被称为算术二进制减法运算符(请参阅GLSL规范的第5.9节表达式(。

没有.-运算符。1.是浮点文字(1.0(。所以CCD_ 10和CCD_。CCD_ 12与CCD_。

请参见OpenGL着色语言4.60规范-4.1.4。浮动

.是常数1.的一部分,使其成为浮点常数而不是整数常数。-只是一个减法运算符。

这主要只与GLSL相关,GLSL不允许在表达式中混合整数和浮点值(没有隐式转换(——您需要显式强制转换。因此,像1.-step(0.2,var)这样的表达式是减法,其中1-step(0.2,var)将是类型错误(试图从整数中减去浮点值。

类似于1.-0的表达式将类似地是类型错误。

相关内容

  • 没有找到相关文章

最新更新