GLSL学习中的小记录

目的:把GLSL学习过程中的一些小知识记录下来,以做后鉴。注意版本为gl 4.3.0

  1. 不像数学上向量的相乘(内积,点乘),返回是标量。GLSL中向量乘积是各个分量乘,返回还是向量。

  2. 不像C语言的数组声明和初始化方式 vec2 position[2] = {vec2(0.1,0.2),vec2(0.2,0.3)};

GLSL:

1
    " const vec4 vertices[] = vec4[](vec4( 0.75, -0.75, 0.5, 1.0), \n"
    " vec4(-0.75, -0.75, 0.5, 1.0), \n"
    " vec4( 0.75, 0.75, 0.5, 1.0)); \n"
2
            " const vec2[4] position = vec2[4](vec2(-0.5, -0.5), \n"
            " vec2( 0.5, -0.5), \n"
            " vec2(-0.5, 0.5), \n"
            " vec2( 0.5, 0.5)); \n"

GLSL把数组看成了某种对象?可以用小括号进行对象的创建和初始化,而且左值中 中括号可以放在变量名前,亦或者名后都可以。
但是不能用C风格创建数组,说是说GLSL是C上的拓展的但是还是有区别,调试信息如下
GLSL学习中的小记录_第1张图片

你可能感兴趣的:(GLSL)