OpenGL ES系列三--GLSL着色器语言

本文介绍了OpenGL ES中的GLSL语言,包括顶点着色器和片元着色器。GLSL是一种类似于C的编程语言,用于编写图形处理。内容涵盖了注释、基本数据类型、聚合类型、结构体、数组、存储限制符和常用语句等关键概念。
摘要由CSDN通过智能技术生成

GLSL语言–OpenGL Shading Language

无论是OpenGL还是其他图形API的着色器,通常都是通过一种特殊的编程语言去编写的。对于OpenGL来说,我们会使用GLSL,它是在OpenGL2.0版本左右发布的,GLSL与“C”语言非常类似,当然还有一点C++的影子。因为从下一节基本图元的绘制开始,我们就会开始接触到GLSL,所以必须先介绍GLSL。我们主要从以下几个常用的方面介绍:
1. 注释

类型 符号
单行注释 //
多行注释 /* 内容 */

2.基本数据类型

GLSL是一种强类型语言,所有变量都必须事先声明,并要给出变量的类型(如下表)。变量名的命名规范与C语言相同:可以使用字母、数字、以及下划线字符,但是数字不能作为变量名称的第一个字符,此外也不能包含连续的下划线。

类型 符号
float 32位浮点数
double 64位浮点数(使用double时要看是否支持,不支持要看起扩展)
int 有符号二进制补码的32位整数
uint 无符号的32位整数
bool 布尔值

3. 聚合类型

GLSL的基本类型可以合并,从而与OpenGL的数据类型相匹配。GLSL支持2个、3个以及4个分量的向量,每个分量都可以使用bool、int、uint、float、double这些基本变量,此外GLSL也支持float和double类型的矩阵。具体如下表:

基本类型 2D向量 3D向量 4D向量 矩阵类型 非方阵矩阵
float vec2 vec3 vec4 mat2 mat3 mat4 mat2x2 mat2x3 mat4x2…
double dvec2 dvec3 dvec4 dmat2 dmat3 dmat4 dmat2x2 dmat2x3 dmat4x2…
i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值