自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏木的博客

一个游戏设计系小白的学习历程

  • 博客(11)
  • 收藏
  • 关注

原创 5.2光源

在OpenGL中,仅仅支持有限数量的光源。 使用GL_LIGHT0表示第0号光源,GL_LIGHT1表示第1号光源,依次类推.OpenGL至少会支持8个光源,即GL_LIGHT0到GL_LIGHT7。使用glEnable函数可以开启它们。例如,glEnable(GL_LIGHT0);可以开启第0号光源。 使用glDisable函数则可以关闭光源。例如,glDisable(GL_LIGHT0);可

2015-05-26 16:30:38 453

原创 5.1光照

光线很大程度上表现了物体的立体感。 图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体。一、建立光照模型 OpenGL在处理光照时采用这样一种近似:把光照系统分为三部分,分别是光源、材质和光照环境。光源就是光的来源,可以是前面所说的太阳或

2015-05-26 15:53:11 377

原创 4.5操作矩阵堆栈 与 状态机

分清操作和状态一、操作矩阵堆栈 你可以把堆栈想象成一叠盘子。开始的时候一个盘子也没有,你可以一个一个往上放,也可以一个一个取下来。每次取下的,都是最后一次被放上去的盘子。通常,在计算机实现堆栈时,堆栈的容量是有限的,如果盘子过多,就会出错。当然,如果没有盘子了,再要求取一个盘子,也会出错。我们在进行矩阵操作时,有可能需要先保存某个矩阵,过一段时间再恢复它。当我们需要保存时,调用glPushMatr

2015-05-26 15:19:23 750

原创 4.4 视口变换

一、投影变换和视口变换 投影变换是将viewing frustum(视景体)变换为一个cuboid(立方体) 视口变换在投影变换之后,是将这个cuboid中的物体变换到视口中,见下图 二、视口变换 glViewport(GLint x,GLint y,GLsizei width,GLsizei height)X,Y以像素为单位,指定了视口的左下角(在第一象限内,以(0,0)为原点的)位置。

2015-05-26 15:04:16 6497

原创 4.3 投影变换

投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终图像只是视景体内的有关部分。投影也是使用矩阵来实现的。计算一个用于实现透视投影或者平行投影的矩阵,并把它与当前的投影矩阵(一般是单位矩阵)相乘。OpenGL支持两种类型的投影变换,即透视投影和正投影。一、透视投影 透视投影符合人们心理习惯,即离视点近的物体大,离视点远的物体小,远到极点即为消失,成为灭点。它的视景体类似于一个顶部和

2015-05-26 11:54:40 769

原创 4.2 模型变换和视图变换

从“相对移动”的观点来看,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。在OpenGL中,实现这两种功能甚至使用的是同样的函数。进行模型和视图变换,主要涉及到三个函数: glTranslate*,把当前矩阵和一个表示移动物体的矩阵相乘。三个参数分别表示了在三个坐标上的位移值。 glRotate*,把当前矩阵和一个表示旋转物体的矩阵相乘。物体将绕着(0,0,0)到(x,y,z)的直线

2015-05-26 11:24:37 555

原创 4.1 三维变换

我们生活在一个三维的世界——如果要观察一个物体,我们可以: 1、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它。(模型变换) 2、从不同的位置去观察它。(视图变换) 3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(剪裁)。(投影变换) 4、我们可能希望把整个看到的图形画下来,但它只占据纸张的

2015-05-26 10:48:14 430

原创 3.颜色

一、RGBA模式和颜色索引模式 OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式。无论哪种颜色模式,计算机都必须为每一个像素保存一些数据。1.RGBA模式 RGBA模式中,数据直接就代表了颜色。2.颜色索引模式 颜色索引模式中,数据代表的是一个索引,要得到真正的颜色,还必须去查索引表。理解: 在索引颜色模式中,OpenGL需要一个颜色表。这个表就相当于画家的调色板:虽然可以调

2015-05-26 10:18:49 1688

原创 2.1 点、直线、多边形

OpenGL中的点将被画成单个的像素。同一像素上,OpenGL可以绘制许多坐标只有稍微不同的点,但该像素的具体颜色将取决于OpenGL的实现。OpenGL的直线必须是有限长度,它可以由两个端点来确定。(可以理解为数学中的线段)多边形是由多条线段首尾相连而形成的闭合区域。OpenGL规定,一个多边形必须是一个“凸多边形”(其定义为:多边形内任意两点所确定的线段都在多边形内,由此也可以推导出,凸多边形不

2015-05-26 09:37:40 531

原创 2.2多边形正反面

一、正反面 1.理解 从三维的角度来看,一个多边形具有两个面。 一般约定为“顶点以逆时针顺序出现在屏幕上的面”为“正面”,“顶点以顺时针顺序出现在屏幕上的面”为“反面”。 (请找一个比较透明的矿泉水瓶子,在正对你的一面沿逆时针画一个圆,并标明画的方向,然后将背面转为正面,画一个类似的圆,体会一下“正面”和“反面”。你会发现正对你的方向,瓶的外侧是正面,而背对你的方向,瓶的内侧才是正面。正对你

2015-05-26 09:18:21 1270

原创 1.环境搭建

一、在http://download.csdn.net/detail/jinxiu/274113下载OpenGL库二、1.将开发库中的.h文件拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\的\Include\GL目录中2.将.lib文件拷贝到C:\Program Files (x86)\Microsoft Visual

2015-05-11 14:42:27 321

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除