小羊的OpenGL学习笔记(一)

1、glsl代码放在const GLchar* 字符串中,使用

	glShaderSource(vertexShader, 1, &vertexShaderSource, NULL);
	glCompileShader(vertexShader);

在运行程序时进行动态编译。

2、关于glGenBuffers()和glBindBuffer()的理解,这篇博客说的非常好

https://blog.csdn.net/qq_36383623/article/details/85123077

3、关于定点着色器和片段着色器

顶点着色器常常用来对场景中几何图形坐标进行矩阵变换。顶点的坐标作为一个矩阵输入到顶点着色器中,它会将VertexBuffer中的所有顶点进行矩阵变换。由于使用了硬件加速,这个过程非常高效,大大快于自己用ActionScript编写的代码。

片段着色器是可编程管道中的最最核心的部分。其普遍的作用就是计算各种各样的三角形像素颜色,从为着色顶点图形(vertex-colored geometries)计算的顶点属性颜色,和为纹理图形为计算的纹理及相关的UV纹理坐标。

简单来说,顶点着色器,虽然叫着色器,但是一般是用于矩阵变换的,把输入的数据归一化到视域内。而片段着色器,才是真正的“着色器”,确实是用来上色的。(当然,顶点着色器也可以上色)

4、写OpenGL程序的一般流程

//开始

① 包含各种头文件

② 函数原型声明

③ GLSL代码定义

④ 各种常量

//main函数

int main()

{

1 标准开局+GLEW_TRUE

 

2.窗口相关

2.1构建窗口,绑定回调

2.2 生成窗口,调节窗口属性、视点属性

 

3.着色器相关

3.1 生成、编译着色器

3.2 链接着色器,记得把分着色器删掉

 

4.图元相关

4.1 顶点数据输入

4.2 VAO,VBO,EBO定义,将顶点传到内存里去

4.3 链接顶点属性,解绑内存

 

5.循环,绘图

5.1 查回调,赋底色

5.2 VAO进去,应用着色器,画图

5.3 解绑,替换内存分区

 

6.收尾:释放内存,关闭进程

}

 

新手上路,难免理解不到位。若有纰漏,请各位前辈不吝拍砖,非常感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值