美文网首页
OpenGL ES学习之路(6.0) GLSL 语法类型

OpenGL ES学习之路(6.0) GLSL 语法类型

作者: velue | 来源:发表于2019-03-05 20:59 被阅读0次

    基本数据类型

    void 函数

    void 函数没有返回值必须声明为void。关键字void 不能⽤于其他声明,除了空形参列表外
    

    bool

        布尔值,只有2个取值,true,false
    

    int

    int 整型,OpenGL ES着⾊语⾔会把整数转化为浮点数来进⾏操作。
    

    float 浮点型,GLSL没有double类型

    float 浮点类型,⽤于广泛的标量计算。⽐如float a,b = 1.5;
    

    vec2、vec3、vec4整型向量,bvec2 bvec3、bvec4布尔型向量,ivec2、ivec3、ivec4

    OpenGL ES着⾊语言包含了像2-, 3-,4- 浮点数、整数、booleans型向量的泛型表示法。浮点型向量可以保存各种有用的图形数据,⽐如颜色、位置、纹理坐标等。 例如,vec2 texCoord1;
    

    mat2、mat3、mat4 矩阵

    矩阵是另⼀个在计算机图形中⾮常有用的数据类型。OpenGL ES着色语言⽀持2*2,3*3,4*4浮点数矩阵 例如,mat2 mat2D;
    

    sampler2D ⽤于访问2D纹理的句柄

    采样器类型,实际上是纹理的不透明句柄,他们用在内建的纹理函数来指明要访问那个纹理。他们只能被声明为函数参数或uniforms。
    

    samplerCube 访问⽴方体映射纹理理的句柄

    存储修饰符

    常量修饰符 const

    1.任何使用const声明的变量在其所属的着色器中均是只读的。
    2.const 用来修饰任何基本数据类型
    3.const不能用来修饰包含数组的数组、结构体
    

    Attribute

     ⽤于修饰声明通过OpenGL ES应用程序传递顶点着⾊器的变量值,在其他任何非顶点着⾊器的着⾊器程序中声明attribute变量是错误的
    

    Uniform

    1.修饰用来修饰那些被整个图元在被处理过程中保持不变的全局变量
    2.所有uniform变量都是只读的
    3.uniform修饰符可以和任意基本数 据类型一起使⽤,或者包含基本数据 类型元素的数组和结构体
    

    Varying

    1.varying变量提供了顶点着⾊器,⽚元着⾊器和二者通讯控制模块之间的 接⼝
    2.顶点着⾊器计算每个顶点的值(如 颜⾊,纹理坐标等)并将它们写到 varying变量中。顶点着⾊器也会从 varying变量中读值,获取和它写入 相同的值
    3.⽚元着⾊器会读取varying变量的值,并且被读取的值将会作为插值器,作为图元中⽚元位置的⼀个功能信息。varying变量对于片元着⾊器来说是只读的。
    

    精度修饰符

    highp

    浮点数的范围 (-2^62 - 2^62)
    整型范围 (-2^16 - 2^16)
    

    mediump

    浮点数的范围 (-2^14 - 2^14)
    整型范围 (-2^10 - 2^10)
    

    lowp

    浮点数的范围 (-2,2)
    整型范围(-2^8 - 2^8)
    

    相关文章

      网友评论

          本文标题:OpenGL ES学习之路(6.0) GLSL 语法类型

          本文链接:https://www.haomeiwen.com/subject/irfneqtx.html