OpenGL - 內建变量及内置函数

本文深入探讨了OpenGL中的内建变量和内置函数,包括它们在图形渲染过程中的作用,以及如何在GLSL中使用它们进行高效计算。无论是在桌面平台还是Android平台的OpenGL ES中,这些概念都是理解和优化图形性能的关键。通过理解顶点坐标、纹理坐标、颜色等内建变量,以及变换、光照等内置函数,开发者能够更好地控制图形的绘制效果。
摘要由CSDN通过智能技术生成
内建变量
着色器代码的开发中会用到很多变量,其中大部分可能是由开发人员根据需求自定义的,但着色器中也提供了一些用来满足特性需求的內建变量。
特点
1.內建变量不需要声明就可以使用;
2.一般用来实现 管线渲染固定功能部分 自定义顶点 或者 片元着色器 之间的信息交互。
分类 : 內建变量根据信息传递方向分为两类
1. 输入变量: 输入变量负责将渲染管线中固定部分产生的信息传递进着色器。
2. 输出变量: 输出变量负责将着色器产生的信息传递给渲染管线中固定部分。

1】顶点着色器  
顶点着色器中的内置变量主要是输出变量。 gl_Position gl_PointSize 等。  
我们也会 在顶点着色器中根据需要 给这些内建变量赋值,以便由渲染管线中的图元装配与光栅化等后续固定功能阶段进行进一步的处理。

gl_Position  
顶点着色器从应用程序中获得原始的顶点位置数据,这些原始的顶点数据在定点着色器中经过平移、旋转、缩放等数学变换后,生成新的定点位置。新的顶点位置通过在顶点作色器中写入 gl_Position 传递到渲染线管的后继阶段继续处理。  
gl_Position 的类型是 vec4 ,写入的顶点位置数据也必须与其类型一致。几乎在所有的顶点着色器中  都必须对 gl_Position 写入适当的值,否则厚积阶段的处理结果将是不确定的。  
gl_PointSize  
顶点着色器中可以计算一个点的大小(单位是像素),并将其赋值给 gl_PointSize (标量 float) 以传递给渲染管线。如果没有明确赋值的话,就会采用默认值1。  
gl_PointSize 的值一般只有在采用电汇至方式后才有意义。  
关于绘制方式,我们后面详细介绍。  
以上为主要使用的内置变量,下方列表显示顶点着色器中的内置变量
名称 
类型 
描述 
gl_Color 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值