首页 > 其他分享 >OpenGL学习(十)-- 着色语言 GLSL 语法介绍

OpenGL学习(十)-- 着色语言 GLSL 语法介绍

时间:2023-03-12 09:13:22浏览次数:51  
标签:GLSL 1.0 OpenGL -- float vec4 vec3

我的 OpenGL 专题学习目录,希望和大家一起学习交流进步!


一、简介

GLSLOpenGL Shading Language) 全称 OpenGL 着色语言,是用来在 OpenGL 中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的 GPU上执行的,代替了固定的渲染管线的一部分,使渲染管线中不同层次具有可编程性。 GLSL 其使用 C 语言作为基础高阶着色语言,避免了使用汇编语言或硬件规格语言的复杂性。

二、变量命名

GLSL 的变量命名方式与 C 语言类似,可使用字母,数字以及下划线,不能以数字开头。还需要注意的是,变量名不能以 gl_ 作为前缀,这个是 GLSL 保留的前缀,用于 GLSL 的内部变量。

三、数据类型

1、基本数据类型

类型描述
void C 语言的 void 类似,表示空类型。作为函数的返回类型,表示这个函数不返回值。
bool 布尔类型truefalse,以及可以产生布尔型的表达式。
int 有符号整型
uint 无符号整形
float 浮点型

2、特殊类型--纹理采样类型

类型描述
sampler1D 用于内建的纹理函数中引用指定的 1D纹理的句柄。只可以作为一致变量或者函数参数使用
sampler2D 二维纹理句柄
sampler3D 三维纹理句柄
samplerCube cube map 纹理句柄
sampler1DShadow 一维深度纹理句柄
sampler2DShadow 二维深度纹理句柄

3、聚合类型(向量和矩阵类型)

(1)向量类型

类型描述
vec2,vec3,vec4 2分量、3分量和4分量浮点向量
ivec2,ivec3,ivec4 2分量、3分量和4分量整数向量
uvec2,uvec3,uvec4 2分量、3分量和4分量无符号整数向量
bvec2,vbec3,bvec4 2分量、3分量和4分量布尔向量

A、

标签:GLSL,1.0,OpenGL,--,float,vec4,vec3
From: https://www.cnblogs.com/im18620660608/p/17207589.html

相关文章

  • 高级GLSL
    这一小节并不会向你展示非常先进非常酷的新特性,也不会对场景的视觉质量有显著的提高。但是,这一节会或多或少涉及GLSL的一些有趣的地方以及一些很棒的技巧,它们可能在今后会......
  • OpenGL笔记十四:GLSL语法
    前言期待您移步上篇:OpenGL笔记十三:GLSL加载纹理颠倒六种方案概述GLSL全称OpenGLShadingLanguage,是用来在OpenGL中着色编程的语言,即开发人员写的自定义程序代码......
  • GLSL基础语法介绍
    GLSL(OpenGL着色语言OpenGLShadingLanguage)语法跟C语言很类似,在可编程管线中我们必须要纯手写顶点和片源着色器,这里就要求必须使用GLSL,自行编译,链接,使用,本片文章介绍......
  • 题解 ABC293G【Triple Index】
    莫队板子。类似于小B的询问,在移动指针过程中,维护每个数出现次数\(cnt_i\),同时维护\(\sum\binom{cnt_i}{3}\)即可。取序列分块块长\(B=\frac{n}{\sqrt{m}}\),有最优......
  • 等保2.0和1.0有什么区别?
    什么是等保?等保,即网络安全等级保护标准。2007年我国信息安全等级保护制度正式实施,通过十余年的时间的发展与实践,成为了我国非涉密信息系统网络安全建设的重要标准。等保......
  • 宏任务&微处理
    事件循环JavaScript语言的一大特点就是单线程,同一个时间只能做一件事。为了协调事件、用户交互、脚本、UI渲染和网络处理等行为,防止主线程的不阻塞,EventLoop的方案应......
  • MacOS-Setup-App
    导航(返回顶部)1.App商店下载安装1.1从Mac上的AppStore下载App1.2在Mac上卸载App2.第三方应用官网下载dmg文件再安装2.1手动安装2.2第三方dm......
  • SQL 基础知识
    SQL概述什么是SQL?SQL(StructuredQueryLanguage)“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中。例如MySQL、Oracle、SQLServer、P......
  • pandas中groupby的统计函数的应用
    2统计函数的应用df.groupby("Courses").max()#以"Courses"为分组依据,求每列的最大值(主要针对相同的"Courses")#Na值不参与计算df.groupby("Courses").min()#通过min函数......
  • BUUCTF-PWN-warmup_csaw_2016
    定期pwn一下维持手感1.检查啥都没有捏2.找漏洞ida静态分析从main里面找到get找到shell思路是简单的栈溢出3.信息收集get_addr:0x40069E距离rbp:0x40shell_add......