美文网首页
WebGL-GLSL语言

WebGL-GLSL语言

作者: 写前端的大叔 | 来源:发表于2020-03-05 21:49 被阅读0次

    在三维开发中,着色器是WebGL渲染三维图形的关键,GLSL是专门用来编写着色器的编程语言,是为图形计算量身定制的,它包含一些针对向量和矩阵操作的有用特性。这里主要总结下数据类型变量运算程序流函数attributeuniformvarying预处理和指令等。

    1.数据类型

    GLSL支持两种数据类型。只有数据类型和布尔值类型,没有字符串类形。

    • 数据类型GLSL只支持整型数和浮点数两种。
    • 布尔值类型GLSL支持布尔值类型,包括truefalse

    2.变量

    GLSL中的变量命名跟其它语言没啥区别,由英文字母、数字、下划线等组成,但变量不能以数字开头。GLSL是强类型的语言,在对变量进行赋值的时候,左右两边的类型必须相等。

    3.矢量和矩阵类型

    矢量主要包括以下类型:
    vec2vec3vec4:表示具有2,3,4个浮点数元素的矢量。
    ivec2ivec3ivec4:表示具有2,3,4个整型数元素的矢量。
    bvec2bvec3bvec4:表示具有2,3,4个布尔值元素的矢量。
    mat2mat3mat4:表示2x23x34x4的浮点数元素的矩阵。

    4.attribute变量

    attribute变量只能出现在顶点着色器中,只能被声明为全局亦是,被用来表示顶点的信息。attribute的亦是类型只能是floatvec2vec3vec4mat2mat3mat4

    4.uniform变量

    uniform变量可以用在顶点着色器和片元着色器中,且必须是全局变量。uniform是只读的,它可以是除了数组或结构体之外的任意类型。

    5.varying

    varying变量用于从顶点着色器向片元着色器传输数据。必须是全局变量。并且必须在两种着色器中声明同名和同类型的varying变量。

    相关文章

      网友评论

          本文标题:WebGL-GLSL语言

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