GLSL无限定(glsl infinity constant)

GLSL是否有+/-无穷大或NaN任何预先定义的常量? 我做这个作为一种解决办法,但我不知道是否有一个更清洁的方式:

// GLSL FRAGMENT SHADER
#version 410

<snip>

const float infinity = 1. / 0.;

void main ()
{
    <snip>
}

我知道的isinf功能,但我需要分配无限远到变量,这样并不能帮助我。

Answer 1:

尼科尔提到的,有没有预先定义的常量。

然而,来自于OpenGL 4.1,您的解决方案至少保证工作和正确地产生无限的价值。

见例如在GLSL 4.4

4.7.1范围及精度

...

然而, 将一个非零的由0个结果在适当签署IEEE Inf文件 :如果正和负零实现,则正确签名Inf文件将被生成时,生成正否则Inf文件。

请注意,当你使用OpenGL的旧版本,但:

例如,在GLSL 4.0 ,它说:

4.1.4花车

...

类似地,处理的由0条件如分可能会导致未指定的结果 ,但在任何情况下,应该这样的条件导致中断或处理的终止。



Answer 2:

有没有它预先定义的常量,但该isinf功能测试,如果事情是无穷大。

而我在这,有没有常数像FLT_MAX FLT_EPSILON其他的事情等方式存在在C?

不是,没有。



标签

每周VPS推荐 总有一款是你需要的!

没有找到想要的?点击这里去栏目页查看所有|点击这里搜索更多

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
如果有服务商和本站有合作意向,可以联系站长,QQ:121274060|邮箱:admin@e-learn.cn
了解到有朋友期望能在易学教程发布文章,奈何用户发布系统不完善,所以开通了码农岛,以供发布文章的需求
商务合作  |  商家投稿  |  易学教程交流群