入门篇章
一、窗口搭建

添加样式

添加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版权协议,转载请附上原文出处链接和本声明。