摘要: 拖了半个多月的博客,这次学习如何使用纹理(Texture)贴图来实现更多的细节。 生成纹理对象 和创建VAO、VBO方法类似,调用glGenTextures函数。 绑定并配置纹理对象 调用四次glTexParameter函数: 1. 2D纹理坐标的横坐标和纵坐标范围都在[0, 1],当设置的横坐标超 阅读全文
posted @ 2019-05-15 08:38 一只名为狗的猫 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 完成章节后练习。 练习 1. Adjust the vertex shader so that the triangle is upside down. 2. Specify a horizontal offset via a uniform and move the triangle to the 阅读全文
posted @ 2019-05-02 01:35 一只名为狗的猫 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 之前已经接触过Vertex Shader和Fragment Shader,这次学习如何编写Shader并封装成类。 Shader源码主要有四部分: 1. 版本声明 ; 2. 使用in和out关键字定义输入输出变量,上一个Shader的输出变量必须和下一个Shader的输入变量保持一致; 3. 有时使 阅读全文
posted @ 2019-04-26 20:16 一只名为狗的猫 阅读(1163) 评论(2) 推荐(0) 编辑
摘要: 对 "上一篇" 的补充,通过绘制三角形来完成矩形的绘制。此外,完成章节后练习。 绘制矩形 一个矩形由两个三角形组成,因此绘制矩形需要绘制两个三角形,一共6个顶点,其中2个顶点重复画了两次。 为了减小开销,仅储存矩形的4个顶点来完成绘制,需要使用Element Buffer Object按照绘制顺序存 阅读全文
posted @ 2019-04-23 22:06 一只名为狗的猫 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 在 "创建窗口" 的基础上,添加代码实现三角形的绘制。 声明和定义变量 在屏幕上绘制一个三角形需要的变量有: 1. 三角形的三个顶点坐标; 2. Vertex Buffer Object 将顶点数据存储在GPU的内存中; 3. Vertex Array Object存储对顶点属性的配置和与顶点属性相 阅读全文
posted @ 2019-04-19 00:34 一只名为狗的猫 阅读(949) 评论(0) 推荐(0) 编辑
摘要: 教程:LearnOpenGL,系统:Deepin 15.9.3,IDE:Qt Creator。 ##添加头文件 创建窗口用到两个库:GLFW和GLAD,这里GLAD也可以替换成GLEW。添加头文件很简单,直接include就好: #include <iostream> #include <glad/ 阅读全文
posted @ 2019-04-17 02:24 一只名为狗的猫 阅读(1595) 评论(1) 推荐(0) 编辑