ARB_shading_language_420pack

Overview

Numbers ARB Extension #108

Interacts

Since OpenGL 4.2 Core Profile Specification

这个扩展是一个Language feature only extension, 即它完全只跟GLSL相关。它增加了以下改变

  • 增加续行符\
  • 把GLSL的字符集由ASCII改为UTF-8
  • 允许隐式地将返回值类型转换为函数声明的类型
  • const关键字可以在函数体内声明变量,同时允许使用一个非常量表达式初始化该变量
  • 变量声明的修饰符不再必须有严格的顺序。layout qualifier可以被使用多次,多个parameter qualifiers可以被用,但并不是说变量声明可以有任意的初始化列表。只是说某一类的修饰符只可以用一个,它们之间的顺序限制被取消了。
  • 增加layout qualifier identifier binding用来绑定一个uniform block的location. uniform block本身需要GLSL 1.4的支持。
  • 增加layout qualifier identifier binding用来绑定units到sampler和image variable声明。
  • 增加C语言风格的初始化列表,即 a[10] = { 0 };
  • 增加vectors和matrices的.length()方法,返回vector的分量个数或matrix的列数。
  • 允许标量的swizzle操作。
  • 增加内置常量gl_MinProgramTexelOffsetgl_MaxProgramTexelOffset