音视频开发系列(33)GLSL及Shader的渲染流程

本文介绍了GLSL(OpenGL Shading Language)的基础知识,包括其特有语法,如基本类型、修饰符、内置变量和函数。接着阐述了Shader的渲染流程,涉及OpenGL的渲染架构和如何创建Shader可执行程序。最后提到了EGL环境在Android中的作用。通过阅读,读者可以理解GLSL的概念、Shader执行流程和EGL的基本原理。
摘要由CSDN通过智能技术生成

一、GLSL是什么?

GLSL(OpenGL Shading Language),是用来在OpenGL中编写着色器(顶点着色器和片元着色器)程序的语言,该程序会在GPU(Graphic Processor Unit)上执行,使得渲染管线具有可编程性。

二、GLSL的特有语法

GLSL和C非常相似,基本类型、函数、结构体(stuct、对应java的class)比较常用,流程控制等。没有指针,但增加了不少着色器特有的基本类型。
学习一门语言首先看它的数据类型的表示,再学习具体的运行流程,由于运行流程上和C、Java等语言基本一致。所以我们来重点看看GLSL特有的数据类型的表示,从基本类型、修饰符、内置变量、内置函数四个方面说明。

2.1 基本类型

在计算机图形中,向量和矩阵是变换的基础,这两种数据类型也是GLSL的核心

vec2 ,vec3 ,vec4:浮点向量
ivec2 ,ivec3 ,ivec4:整数向量
uvec2 ,uvec3 ,uvec4:无符号整型向量
bvec2 ,bvec3 ,bvec4:boolean向量
mat2,mat3,mat4,mat2x3…:浮点矩阵

sampler2D :二维纹理句柄

2.2 修饰符

const:(只读) 常量变量
attribute:只能用于顶点着色器,用于经常更改的信息
uniform: (始终如一的)用于不经常更改的信息,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值