
OpenGL
czhzasui
nullpter
展开
-
加载纹理与使用glGenTextures时应注意的一点(解决吃内存)[转]
加载纹理与使用glGenTextures时应注意的一点(解决吃内存)[转]glGenTextures glGenTextures(GLsizei n, GLuint *textures)函数说明 n:用来生成纹理的数量 textures:存储纹理索引的 glGenTextures函数根据纹理参数返回n个纹理索引。纹理名称集合不必是一个连续的整数集合。 (glGenTextures就是用来产生你...转载 2018-04-11 10:24:26 · 1994 阅读 · 0 评论 -
OpenGL学习笔记(十)正方体
效果如图 主程序main.c#include <glad/glad.h>#include <GLFW/glfw3.h>#include <cmath>#include <iostream>#include <fstream>#include <sstream>#include <stb_imag...原创 2018-07-02 21:32:01 · 1096 阅读 · 0 评论 -
OpenGL学习笔记(十一)摄像机
主程序如下 着色器代码与上一章相同#include &amp;lt;glad/glad.h&amp;gt;#include &amp;lt;GLFW/glfw3.h&amp;gt;#include &amp;lt;stb_image.h&amp;gt;#include &amp;lt;glm/glm.hpp&amp;gt;#include &amp;l原创 2018-07-03 20:07:09 · 281 阅读 · 0 评论 -
OpenGL学习笔记(七)底纹
将图片贴上自己画好的矩形 效果如下: 源码#include &amp;amp;lt;glad/glad.h&amp;amp;gt;#include &amp;amp;lt;GLFW/glfw3.h&amp;amp;gt;#include &amp;amp;lt;cmath&amp;amp;gt;#include &amp;amp;lt;iostream&amp;a原创 2018-06-28 17:47:51 · 233 阅读 · 0 评论 -
glPixelStorei
对齐像素字节函数:glPixelStorei。glPixelStorei(GL_UNPACK_ALIGNMENT,1)控制的是所读取数据的对齐方式,默认4字节对齐,即一行的图像数据字节数必须是4的整数倍,即读取数据时,读取4个字节用来渲染一行,之后读取4字节数据用来渲染第二行。对RGB 3字节像素而言,若一行10个像素,即30个字节,在4字节对齐模式下,OpenGL会读取32个字节的数据,若不...转载 2018-07-24 14:13:59 · 6311 阅读 · 0 评论 -
glActiveTexture
调用glActiveTexture 设置纹理单元(初始化为GL_TEXTURE0), 然后绑定纹理目标(一个或多个)到纹理单元(一个)。不同的系统,纹理单元可用的数量是不同的。从GL_TEXTURE0一直到32。...原创 2018-07-24 14:16:38 · 2957 阅读 · 0 评论 -
glUniform1i
为了使用第二个纹理(以及第一个),我们必须改变一点渲染流程, 先绑定两个纹理到对应的纹理单元,然后定义哪个uniform采样器对应哪个纹理单元: 注意,我们使用glform1i设置uniform采样器的位置值,或者说纹理单元。 通过glUniform1i的设置,我们保证每个uniform采样器对应着正确的纹理单元。...转载 2018-07-24 14:19:33 · 1488 阅读 · 0 评论 -
OpenGL和EGL资料
传送门:http://blog.sina.com.cn/s/blog_b078a1cb0101fvgn.html原创 2018-07-24 15:54:05 · 296 阅读 · 0 评论 -
在NXP I.MX6上做一个基于Opencv和OpenGL的打砖块游戏
最近一直想搞一个网站,一直偷懒233最近一直在研究OpenGL,顺便搞了一个小游戏玩玩。话不多说上图:就是用下面一个板接住弹来弹去的小球,直到把所有砖块都撞碎主程序主要是开辟一个新线程然后后台监听DBus信号,这个游戏监听汽车上的转盘和按钮发送的DBus信号实现操控。新线程以每秒大约30帧刷新界面。command这个类是用来实现转盘和按钮DBus监听。/*****************...原创 2018-10-10 18:12:49 · 722 阅读 · 0 评论 -
OpenGL纹理倾斜扭曲问题
在用openGL绘制某些纹理的时候,图片会发生不可描述的倾斜。原图:画出来是这样的:这个问题查出来了,OpenGL要求所有的纹理都是4字节对齐的,即纹理的大小永远是4字节的倍数。通常这并不会出现什么问题,因为大部分纹理的宽度都为4的倍数并/或每像素使用4个字节。但是这个图片是jpg并且宽高不是4的倍数,所以出现了问题。通过将纹理解压对齐参数设为1,这样才能确保不会有对齐问题。使用这个接口g...原创 2018-10-25 10:36:04 · 3791 阅读 · 7 评论 -
OpenGL学习笔记(六)着色器类
编写、编译、管理着色器是件麻烦事。写一个类来让我们的生活轻松一点,它可以从硬盘读取着色器,然后编译并链接它们,并对它们进行错误检测,这就变得很好用了。这也会让你了解该如何封装目前所学的知识到一个抽象对象中。需要把头文件shader加入工程,然后在生成执行文件的目录下新建两个文件分别为顶点着色器和片段着色器的配置文件shader.vs和shader.fsshader.vs源码#version...原创 2018-06-27 15:34:32 · 994 阅读 · 0 评论 -
OpenGL学习笔记(九)图片缩放、移动、旋转
程序效果: 源码如下 main.c#include &lt;glad/glad.h&gt;#include &lt;GLFW/glfw3.h&gt;#include &lt;cmath&gt;#include &lt;iostream&gt;#include &lt;fstream&gt;#include &原创 2018-07-02 17:24:49 · 3286 阅读 · 0 评论 -
OpenGL学习笔记(八)底纹叠加
测试效果如下: 源码: main.cpp#include &amp;lt;glad/glad.h&amp;gt;#include &amp;lt;GLFW/glfw3.h&amp;gt;#include &amp;lt;cmath&amp;gt;#include &amp;lt;iostream&amp;gt;#include &amp;lt;f原创 2018-07-02 15:59:14 · 1020 阅读 · 0 评论 -
OpenGL---GLUT教程 GLUT初始化
在这个部分我们将在我们的程序里建立一个main函数,这个main函数将完成必须的初始化和开启事件处理循环。所有的GLUT函数都有glut前缀并且那些完成一些初始化的函数有glutInit前缀。你首先要做的是调用函数glutInit()。Void glutInit(int*argc,char**argv);参数:Argc:一个指针,指向从main()函数传递过来的没更改的argc变量。Argv:一个...转载 2018-03-29 09:28:31 · 370 阅读 · 0 评论 -
vs2017 openGL的环境配置
转自https://blog.youkuaiyun.com/qq_19003345/article/details/76098781OpenGL的环境配置了好几次都没有成功。今天,终于试好了,于是分享出来,让其他人能少走弯路。OpenGL 已经发展到可编程管线了,下面我就来说说 新版OpenGL 和旧版本的OpenGL 组装的办法!【旧版本 固定管线 也是资料最多的OpenGL】我的工具是VS20171.方法...转载 2018-03-29 11:01:01 · 1031 阅读 · 0 评论 -
Visual studio中编译和使用libpng和zlib 【转】
Visual studio中编译和使用libpng和zliblibpng用于图片处理,zlib用于压缩。两者密切相关,libpng依赖zlib。这里主要记录下windows下怎样利用vs2015编译和使用这两个库。一、 库的下载libpng:这是从www.libpng.org/pub/png/libpng.html网站下载的,我下载的是lpng1621.zip,也就是1.6.2.1...转载 2018-04-12 10:13:07 · 1289 阅读 · 0 评论 -
OpenGL学习笔记(一)开发环境搭建
OpenGL学习笔记(一)开发环境搭建 老朽使用的系统是ubuntu16,使用的IDE是Clion.一.安装OpenGL sudo apt-get install build-essential libgl1-mesa-dev sudo apt-get install freeglut3-dev sudo apt-get install libglew-dev libsdl2-dev ...原创 2018-06-25 14:28:23 · 1196 阅读 · 0 评论 -
OpenGL学习笔记(二)OpenGL各类库介绍
老朽刚开始学OpenGL被各种函数库搞得头很晕@@. 下面找到一些各种函数库的介绍 gl.h gl库是核心库,gl中包含了最基本的3D函数.glu.h glu是实用库,包含有43个函数,函数名的前缀为glu。glu 为了减轻繁重的编程工作,glu对gl中的函数进行部分封装,glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。如果算术好,在不使用glu库的...原创 2018-06-25 14:41:01 · 792 阅读 · 0 评论 -
OpenGL学习笔记(三)OpenGL新建窗口
//// Created by czh on 18-6-25.//#include &amp;lt;iostream&amp;gt;#include &amp;lt;glad/glad.h&amp;gt;#include &amp;lt;GLFW/glfw3.h&amp;gt;void framebuffer_size_callback(GLFWwindow* window, int width,原创 2018-06-25 15:15:19 · 326 阅读 · 0 评论 -
OpenGL学习笔记(零)序言
Reference sources:https://learnopengl.com Author:Joey de Vries https://twitter.com/JoeyDeVriez原创 2018-06-25 16:15:46 · 293 阅读 · 0 评论 -
OpenGL学习笔记(四)绘制三角形
一.glfw初始化,设置版本号和核心模式,并新建一个窗口对象glfwInit();glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);...原创 2018-06-26 11:07:50 · 518 阅读 · 0 评论 -
OpenGL学习笔记(五)着色器
下面是个例子利用着色器绘制彩色三角形//// Created by czh on 6/26/18.//#include &lt;glad/glad.h&gt;#include &lt;GLFW/glfw3.h&gt;#include &lt;cmath&gt;#include &lt;iostream&gt;void framebuffer_size_call原创 2018-06-27 10:10:02 · 232 阅读 · 0 评论 -
OpenGL使用精灵图集
使用OpenGL绘制开机动画,fps33,使用精灵图集使用OpenCV载入纹理。运行环境ubuntu16,废话不多说,上源码。主程序main.cpp//// Created by czh on 18-9-10.//#include &amp;lt;glad/glad.h&amp;gt;#include &amp;lt;GLFW/glfw3.h&amp;gt;#include &quot原创 2018-10-30 17:14:05 · 732 阅读 · 0 评论