openGL之API学习(一七八)glsl版本功能演变
Posted hankern
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openGL之API学习(一七八)glsl版本功能演变相关的知识,希望对你有一定的参考价值。
GLSL 120 增加
1,你可以在着色器中初始化数组,如下所示:
1 2 |
|
然而,即使使用GLSL 120,Mac OSX Snow Leopard也不支持上述功能。
2,你可以在着色器中初始化全局变量,并且值将在链接时设置:
1 |
|
3,在设置const值时,可以使用像sin()这样的内置函数;
4,必要时,整数会隐式转换为浮点数,例如:
1 2 3 |
|
5,你可以用f来定义一个浮点数:float f = 2.5f。
GLSL 130 增加
1,支持int和uint(以及它们的按位操作);
2,支持switch语句;
3,新的内置函数:trunc(),round(),roundEven(),isnan(),isinf(),modf();
4,片段输出可以是用户定义的;
5,输入和输出用in和out语法声明,替代属性和变化。
GLSL 150 增加
1,现在应该使用texture(),替代texture2D()。
GLSL330 增加
1,布局限定符可以声明顶点着色器输入和片段着色器输出的位置,例如:
1 |
|
形式上这只能通过ARB_explicit_attrib_location扩展来实现。
以上是关于openGL之API学习(一七八)glsl版本功能演变的主要内容,如果未能解决你的问题,请参考以下文章
openGL之API学习(一七三)glsl如何设置版本和兼容性
openGL之API学习(一七六)GLSL变量类型uniform attribute varying in out
openGL之API学习(一七二)error C0000: syntax error, unexpected identifier, expecting “::“ at token “mediump“
openGL之API学习(一七零)glEnableClientState glDisableClientState