Glsl语言基础

GLSL是基于C语言的高级图形处理语言,它包括22个基本数据类型,如void、bool、int、float及各种向量和矩阵类型。此外,GLSL有特定的纹理采样器类型。内建变量分为输入(如gl_Position)和输出(如gl_FragColor),并使用attribute、uniform和varying等限定符来定义变量的作用范围。
摘要由CSDN通过智能技术生成

Glsl语言基础

在C语言基础上独立出来的高级图形处理语言,基本语法内容与C语言相同.

一 基本数据类型

其中有22个基本类型,大多数都和C语言相同但也定义了特有的类型

void – 用于没有返回值的函数

bool – 条件类型,其值可以是真或假

int – 有符号的整数

float – 浮点数

vec2 – 2 个浮点数组成的向量

vec3 – 3 个浮点数组成的向量

vec4 – 4 个浮点数组成的向量

bvec2 – 2个布尔类型数组成的向量

bvec3 – 3个布尔类型数组成的向量

bvec4 – 4个布尔类型数组成的向量

ivec2 – 2个整数组成的向量

ivec3 – 3 个整数组成的向量

ivec4 – 4 个整数组成的向量

mat2 – 浮点数的2x2矩阵

mat3 – 浮点数的3x3矩阵

mat4 – 浮点数的4x4矩阵

sampler1D – 用来存取一维纹理的采样器

sampler2D – 用来存取二维纹理的采样器

sampler3D – 用来存取三维纹理的采样器

samplerCube – 用来存取立方映射纹理的采样器

sampler1Dshadow – 用来存取一维深度纹理的采样器

sampler2Dshadow – 用來存取二维深度纹理的采样器

GLSL语言不支持双精度浮点型、字节类型、短整型、长整型。并且没有联合体、枚举类型、无符号整型以及位运算等特性。

二 内建变量

内建变量根据传递的方向分为两类:输入与输出

1.输入变量 —>负责将渲染管线中固定功能部分产生的信息传递进着色器

gl_Position
gl_PointSize
gl_FragCoord
gl_FrontFacing

2.输入变量 —>将着色器产生的信息传递给渲染管线中固定功能部分

gl_FragColor
gl_FragData

三 限定符

限定符说明
attribute一般用于每个顶点各不相同的量,如顶点位置、颜色等
uniform一般用于对同一组顶点组成的单个3D物体中所有顶点都相同的量,如当前的光源位置
varying一般用于顶点着色器传递给片元着色器的量
const用于声明常量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值