随笔分类 -  OpenGL

OpenGL,图形图像技术
摘要:OpenGL的glTexImage2D()与gluBuild2DMipmaps()的使用方法及区别 说明:两者的都是生成纹理,即:将载入的位图文件(*.bmp)转换成纹理贴图。 1、glTexImage2D()介绍 先看glTexImage2D()函数定义: void glTexImage2D(GL 阅读全文
posted @ 2016-08-12 14:11 追寻1024的程序猿 阅读(4554) 评论(0) 推荐(0) 编辑
摘要:(一)OpenGL函数库 格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl、glu、aux、glut、wgl、glx、agl 等等。 1、核心函数库主要可以分为以下几类函数 (1) 绘制基本的几何图元函数。如:glBegain(). (2) 矩阵操作、几何变换和投影变 阅读全文
posted @ 2016-08-12 13:47 追寻1024的程序猿 阅读(15441) 评论(2) 推荐(5) 编辑
摘要:之前实现过全景图片查看(OpenGL的几何变换3之内观察全景图),那么我们需要进行分屏该如何实现呢?如下图: 没错就是以前提过的glViewPort函数,废话不多说了,我直接上代码: 阅读全文
posted @ 2016-07-18 18:07 追寻1024的程序猿 阅读(4699) 评论(0) 推荐(0) 编辑
摘要:也许就是这一两年之间,随着VR热潮的风起云涌,“全景”这个词汇被一次又一次地搬上了台面,再冠以“虚拟实景”,“3D实景”,“360度”,“720度”等种种名号,以至于被很多人当作了虚拟现实内容具体呈现形式的主要代名词。 诚然,VR内容的缺失问题现在已经被越来越多的开发者和商业团体所关注,而全景拍摄的 阅读全文
posted @ 2016-07-15 17:50 追寻1024的程序猿 阅读(2463) 评论(0) 推荐(0) 编辑
摘要:2016年开始,Facebook、谷歌、腾讯、阿里等互联网巨头都已开始抢食VR(虚拟现实)这块的大蛋糕,虚拟现实发展速度惊人。在这样强势发展的背景下,一些产品也开始打着VR的幌子,挂着VR的噱头卖起来360°全景视频。 面对越来越多的“VR产品”,无忧我房李熠将带领大家深入地对虚拟现实,进行了解并且 阅读全文
posted @ 2016-07-15 16:52 追寻1024的程序猿 阅读(9917) 评论(0) 推荐(0) 编辑
摘要:上一次写了OpenGL的几何变换3之内观察全景图 上次采用的是图片分割化方式,这次采用数据分割化方式。 先说下思路,数据分割化方式呢,是只读取一张图片imgData,然后通过glTexCoord2f()配置纹理坐标和glVertex3f()配置图形坐标,然后该分隔的分隔,该组合的组合。 这次的代码使 阅读全文
posted @ 2016-07-14 16:01 追寻1024的程序猿 阅读(2597) 评论(4) 推荐(0) 编辑
摘要:纹理坐标配置函数,先看定义: void glTexCoord2f (GLfloat s, GLfloat t); 1、glTexCoord2f()函数 有两个参数:GLfloat s, GLfloat t 第一个参数代表X坐标。 0.0f 是纹理的左侧。 0.5f 是纹理的中点, 1.0f 是纹理的 阅读全文
posted @ 2016-07-13 15:35 追寻1024的程序猿 阅读(10549) 评论(0) 推荐(0) 编辑
摘要:继续上一篇文章的例子:OpenGL的几何变换2之内观察立方体 上一篇是通过绘图方式得到的立方体,没有贴图,这次加上纹理贴图。 通过纹理贴图有两种方案: 1、图片分割化,即是把一张完整的全景图片(就是支持720度全景图片)人工的分隔成前后左右上下六张图片(静态),然后分别加载这六张图片; 2、数据分割 阅读全文
posted @ 2016-07-13 15:17 追寻1024的程序猿 阅读(5570) 评论(3) 推荐(1) 编辑
摘要:我想实现的一个场景是:一个立方体,相机的坐标在立方体的中心点,相机不变,立方体旋转,可以站在立方体中心点查看立方体内部。 实际上就是立方体图像,这是在全景图片当作比较简单的方式,画面不会变形和扭曲,但是现在拍摄的全景图不会这样拍摄,更多的可点击先搞清楚全景视频是如何实现的查看 其实就是当下炒得火热的 阅读全文
posted @ 2016-07-11 18:12 追寻1024的程序猿 阅读(2024) 评论(0) 推荐(0) 编辑
摘要:OpenGL的几何变换 1.实验目的: 理解掌握一个OpenGL程序平移、旋转、缩放变换的方法。 2.实验内容: (1)阅读实验原理,运行示范实验代码,掌握OpenGL程序平移、旋转、缩放变换的方法; (2)根据示范代码,尝试完成实验作业; 3.实验原理: (1)OpenGL下的几何变换 在Open 阅读全文
posted @ 2016-07-07 15:34 追寻1024的程序猿 阅读(1406) 评论(0) 推荐(0) 编辑
摘要:OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。 有时候在经过一些变换后我们想回到原来的状态,就 阅读全文
posted @ 2016-07-07 15:03 追寻1024的程序猿 阅读(8182) 评论(0) 推荐(1) 编辑
摘要:glScalef是openGL中的模型缩放函数,就是把当前矩阵与一个表示延各个轴对物体进行拉伸、压缩、反射的矩阵相乘。这个物体的每个点的x,y,z坐标与对应的xyz参数相乘。 先看函数定义void glScalef(GLfloat x, GLfloat y, GLfloat z); 参数x,y,z分 阅读全文
posted @ 2016-07-07 14:57 追寻1024的程序猿 阅读(16539) 评论(0) 推荐(0) 编辑
摘要:OpenGL的glTranslatef平移变换函数详解 glTranslated()和glTranslatef()这两个函数是定义一个平移矩阵,该矩阵与当前矩阵相乘,使后续的图形进行平移变换。 我们先看定义:void glTranslated(GLdouble x, GLdouble y, GLdo 阅读全文
posted @ 2016-07-06 17:23 追寻1024的程序猿 阅读(25289) 评论(0) 推荐(0) 编辑
摘要:OpenGL的glRotatef旋转变换函数详解 先看一下函数定义:void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) angle:为旋转的角度,单位为度。x,y,z:为对应xyz轴的布尔值变量。 重点是x,y,z表达的是什么 阅读全文
posted @ 2016-07-06 16:15 追寻1024的程序猿 阅读(37976) 评论(0) 推荐(1) 编辑
摘要:OpenGL的GLUT初始化函数 void glutInit(int* argc,char** argv) 初始化GLUT库。对应main函数的形式应是:int main(int argc,char* argv[]); 这个函数从main函数获取其两个参数。 void glutInitWindowS 阅读全文
posted @ 2016-07-05 18:03 追寻1024的程序猿 阅读(583) 评论(0) 推荐(0) 编辑
摘要:GLUT事件处理(Event Processing)窗口管理(Window Management)函数 void glutMainLoop(void) 让glut程序进入事件循环。在一个glut程序中最多只能调用一次。一旦调用,会直到程序结束才返回。 int glutCreateWindow(cha 阅读全文
posted @ 2016-07-05 18:01 追寻1024的程序猿 阅读(1216) 评论(0) 推荐(0) 编辑
摘要:OpenGL的注册回调函数 void glutDisplayFunc(void (*func)(void) ); 为当前窗口设置显示回调函数 void glutOverlayDisplayFunc(void (*func)(void) ); 注册当前窗口的重叠层的显示回调函数 void glutRe 阅读全文
posted @ 2016-07-05 17:59 追寻1024的程序猿 阅读(1169) 评论(0) 推荐(0) 编辑
摘要:OpenGL的gluLookAt和glOrtho的关系 一直不明白gluLookAt()和glOrtho()两者之间的关系:gluLookAt()是观察变换,glOrtho()是正交投影。glLookAt()是摄像机的位置,glOrtho()是将当前的可视空间设置为正投影空间。gluLookAt() 阅读全文
posted @ 2016-07-05 17:24 追寻1024的程序猿 阅读(2408) 评论(0) 推荐(0) 编辑
摘要:OpenGL的glClearColor和glClear改变背景颜色 结合以下两个函数void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 和 void glClear(GLbitfield ma 阅读全文
posted @ 2016-07-05 14:54 追寻1024的程序猿 阅读(30830) 评论(0) 推荐(1) 编辑
摘要:函数原型void gluLookAt(GLdoble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdou 阅读全文
posted @ 2016-07-05 10:14 追寻1024的程序猿 阅读(653) 评论(0) 推荐(0) 编辑