OpenGL
文章平均质量分 92
cc4Java
技术宅
展开
-
OpenGL学习07_绘制立方体
OpenGL在绘制场景之前,需要先产生或者说定义一个场景,这个产生目标场景视图的过程类似于照相机拍照的过程。1.把照相机固定在三角架上,并让它对准场景(视图变换)。2.对场景进行安排,使各个物体在照片中的位置是我们所希望的(模型变换)。3.选择照相机镜头,并调整放大倍数(投影变换)。4.确定最终照片的大小。例如,我们很可能需要把它放大(视口变换)。5.在完成这些步骤之后,就可以原创 2015-01-10 14:25:27 · 5408 阅读 · 0 评论 -
OpenGL学习09_裁剪平面ClipPlane
除了视景体的6个裁剪平面(左、右、底、顶、近和远)之外,还可以另外再指定最多可达6个的其他裁剪平面,对视景体施加进一步的限制。每个平面都是由它的方程式Ax + By + Cz + D= 0的系数所指定的。裁剪平面会根据模型和视图矩阵自动执行适当的变换。最终的裁剪区域将是视景体与其他裁剪平面定义的所有半空间的交集。记住,OpenGL会自动对部分被裁剪的多边形的边进行正确的重构。void原创 2015-01-20 11:36:20 · 8721 阅读 · 0 评论 -
OpenGL学习06_顶点数组VertexArray
什么是顶点数组?OpenGL提供了一些顶点数组函数,允许只用少数几个数组指定大量的与顶点相关的数据,并用少量函数调用(与顶点数组的数量相仿)访问这些数据。使用顶点数组函数,一个拥有20条边的多边形的20个顶点可以放在1个数组中,并且只通过1个函数进行调用。如果每个顶点还有一条法线向量,所有20条法线向量可以放在另一个数组中,也可以只通过1个函数进行调用。把数据放在顶点数组中可以提高应用程序的性原创 2014-12-30 17:49:05 · 4865 阅读 · 0 评论 -
OpenGL学习08_几何变换
OpenGL需要通过视图变换,模型变换,投影变换,视口变换,绘制场景这一系列步骤将图像绘制出来。1、模型变换和视图变换从“相对移动”的观点来看,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。在OpenGL中,实现这两种功能甚至使用的是同样的函数。由于模型和视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。设置的方法是以GL_MODEL原创 2015-01-20 11:10:32 · 2067 阅读 · 0 评论 -
OpenGL学习05_点画模式(点画多边形)
在默认情况下,填充多边形是用实心模式绘制的。此外,它们还可以使用一种32位×32位的窗口对齐的点画模式。glPolygonStipple()函数用于指定多边形的点画模式。void glPolygonStipple(const GLubyte *mask);定义填充多边形的当前点画模式。mask参数是一个指向32×32位图的指针,后者被解释为0和1的掩码。如果模式中出现的是1,那么多边形中对原创 2014-12-30 12:10:45 · 3525 阅读 · 0 评论 -
OpenGL学习03_双缓冲DoubleBuffering
双缓冲的是什么?我们看电视时,看到的屏幕称为OSD层,也就是说,只有在OSD层上显示图像我们才能看到。现在,我需要创建一个虚拟的、看不见但是可以在上面画图(比如说画点、线)的OSD层,我称之为offscreen(后台缓冲区)。这个offscreen存在于内存中,我们在上面画图,这个offscreen上面的东西可以显示在OSD层上,需要一个创建这个offscreen的函数,返回这个offscre原创 2014-12-28 20:28:11 · 6951 阅读 · 0 评论 -
OpenGL学习04_点画模式(点画线)
viod glLineStipple(GLint factor,GLshort pattern);OpenGL中设置直线的当前点画模式。pattern参数是由1或0组成的16位序列,它们根据需要进行重复,对一条特定的直线进行点画处理。从这个模式的低位开始,一个像素一个像素的进行处理。如果模式中对应的位是1,就绘制这个像素,否则就不绘制。模式可以使用factor参数(表示重复因子)进行扩展,它与1和原创 2014-12-30 09:54:36 · 9195 阅读 · 0 评论 -
OpenGL学习02_函数语法与命名规范
OpenGL函数的命名规则函数的开头前缀为“gl”,并把组成函数的每个单词的首字母用大写形式表示(例如,glClearColor())。类似地,OpenGL还定义了一些以前缀GL_开头的常量,所有的单词都使用大写形式,并以下划线分隔(例如GL_COLOR_BUFFER_BIT)。原创 2014-12-28 16:12:42 · 3125 阅读 · 1 评论 -
OpenGL学习01_Mac OS X环境搭建
Mac上搭建OpenGL环境比较简单,我使用的是操作系统是Mac OS X 10.10版本,OpenGL版本是3.0/3.1,开发环境XCode6.1,参考的书籍《OpenGL编程指南》中文第七版。一、使用XCode创建OpenGL项目1.使用XCode创建项目,依次选择OS X -- Application -- Command Line Tool -- 点击Next2.输入原创 2014-12-28 15:56:17 · 10631 阅读 · 7 评论 -
OpenGL学习10_绘制行星系统
下面的Demo还使用了多种组合变换来实现地球绕太阳公转和自转的实现,还是直接看代码,有详细的注释。//// main.cpp// OpenGL_11_Planet//// Created by apple on 15/1/20.// Copyright (c) 2015年 cc. All rights reserved.//#include #include st原创 2015-01-26 11:31:13 · 5612 阅读 · 0 评论