3、OpenGL着色器应用:简单三角形渲染与波纹网格变形

OpenGL着色器应用:简单三角形渲染与波纹网格变形

1. 与着色器程序通信

为了与着色器程序进行通信,应用程序在绑定着色器程序后,必须获取属性或统一变量(uniform)的位置。在 GLSLShader 类中,为了方便,我们将属性和统一变量的位置分别存储在两个 std::map 对象中。

1.1 获取属性/统一变量位置

通过 GLSLShader 类的索引器来访问任何属性或统一变量的位置。例如,若有一个名为 shader GLSLShader 对象,且着色器中包含一个名为 MVP 的统一变量,我们可以通过以下步骤操作:

shader.AddUniform("MVP"); // 将统一变量的位置添加到映射中
int location = shader("MVP"); // 直接调用获取统一变量的位置

2. 使用着色器渲染简单彩色三角形

2.1 准备工作

假设已经创建了一个使用OpenGL 3.3核心配置文件的新Win32空项目。代码位于 Chapter1/SimpleTriangle 目录。

2.2 顶点变换阶段

顶点在最终渲染到屏幕之前,会经历以下变换阶段:

graph LR
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值