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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 dmat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值