glsl 语法简介

本文介绍了GLSL(OpenGL Shading Language)的基础知识,包括变量和类型、构造器、向量矩阵、常量和数组、操作符、函数特性,特别是参数传递方式。讲解了流程控制限制,如if和for循环的使用规则。深入讨论了Uniforms、Attributes和Varyings在着色器中的作用和限制,以及预处理指令、精度限定和不变性(Invariance)的概念,这些都是高效编写GLSL着色器的关键要素。

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

变量和变量类型

变量构造器

向量和矩阵的构成元素

常量、结构体、数组

操作符

函数

glsl着色器语言中的函数的用法和C语言也几乎上一样的,最大的不同就是参数的传递。它使用了几个特殊的修饰符号来表示参数是否可以被修改。

in 表示参数为值传递。在没有写修饰符号的情况下,默认使用 in
inout 表示参数为引用传递。如果函数中对其作出修改,则函数执行结束后参数的值将会改变
out 表示参数的值不会被传递到函数中,但是函数返回的时候会改变参数的值

vec4 myFunc(inout float myFloat,             // inout parameter
                         out vec4 myVec4,    // out parameter
                         mat4 myMat4);       // in parameter (default)

还有一个需要注意的就是glsl中不能使用递归函数

着色器语言自带函数
float nDotL = dot(norm
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值