入门篇章
一、窗口搭建
添加样式
添加OpenGL区域
创建一个新类 便于对OpenGLwidget的操作。继承类可以更改
控件提升
添加,选中 提升
二、绘制三角形
三角形 图形数据
绑定之后 进行绘制
glDrawArrays(GL_TRIANGLES,0,6); //从0开始找6个点
三、编译连接定点着色器
画图形之前 使用着色器 ,VBO实际存储数据,VAO存储一系列操作
索引缓冲对象EBO
换成4个点
在EBO绑定结束之后 再解绑VAO
VAO记录EBO解绑操作 无法绘制,但VAO不记录VBO解绑
四 、互动 控制
接口已经有了 还需要调用
改变绘制样式
五、QT使用外部 着色器
编码规则设置
包含头文件
链接
使用的不同
删除EBO
六、着色器讲解
流水线 输入输出
输入输出
依靠名称 在流水线上传递数据,定点着色器 传递给 片段着色器
定点着色器
layout (location = 0) in vec3 aPos; 索引
询问apos位置
绑定方式 位置
uniform
如果没有调用resize paint时候退出 会报错
多个属性 0=position 1=color
glVertexAttribPointer(); //偏移量
七、纹理加载
告诉三角形某一个点需要加载 哪一点的纹理图形
纹理单元0
QT已经封装 可以直接使用QT封装
添加纹理时 VAO最后解绑 方便记录
通道是0 所以绑定0
添加泛红效果
多个纹理的加载
CPU端分开
激活通道1
纹理环绕方式
纹理过滤
八、矩阵变换
先旋转后位移,先放大后位移
顶点 着色器中
九、坐标系统
十
。。。
版权声明:本文为weixin_36447711原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。