OpenGL
文章平均质量分 78
heyuchang666
这个作者很懒,什么都没留下…
展开
-
OpenGL基础图形编程(一)OpenGL与3D图形世界
1.1、OpenGL使人们进入三维图形世界1.2、OpenGL提供直观的三维图形开发环境OpenGL提供一系列的三维图形单元供开发者调用。OpenGL提供一系列的图形变换函数。OpenGL提供一系列的外部设备访问函数,使开发者可以方便地访问鼠标、键盘、空间球、数据手套等这种直观的三维图形开发环境体现了OpenGL的技术优势,这也是许多三维图形开发者热衷于OpenGL的缘由所在。1.3、OpenGL成为目前三维图形开发标准原创 2016-04-05 20:11:12 · 6487 阅读 · 0 评论 -
OpenGL函数_ glColor函数颜色
在OpenGl中设置颜色,一般可以使用glColor3f()。从函数名字就可以看出,它的参数应该有三个,类型是float型的。另外一点是它的参数值的范围是[0.0,1.0]一般的,可以将这三个参数值视为颜色的成分。0.0 -- > 不使用颜色成分;1.0 -- > 使用颜色的最大值原创 2017-04-13 19:17:10 · 9285 阅读 · 1 评论 -
计算机图形学(二)输出图元_6_OpenGL曲线函数_2_中点画圆算法
如同光栅画线算法,我们在每个步中以单位间隔取样并确定离指定圆最近的像素位置。对于给定半径r和屏幕中心(xc,yc),可以先使用算法计算圆心在坐标原点(0, 0)的圆的像素位置,然后通过将xc加到x且yc加到y。从而把计算出的每个位置(x,y)移动到其适当的屏幕位置。在第一象限中,圆弧段从x = 0到x = y,曲线的斜率从0变化到-1.0。因此,可以在该八分圆上的正x方向取单位步长,并使用决策参数来确定每一步两个可能的y位置中,哪一个更接近于圆的位置。然后,其他七个八分圆中的位置可由对称性得到。原创 2016-04-20 15:05:09 · 3176 阅读 · 0 评论 -
OpenGL单缓冲与双缓冲的区别
单缓冲,实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,你回到屏幕的闪烁。 双缓冲,实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。一般用OpenGL绘图都是用双缓冲,单缓冲一般只用于显示单独的一副非动态的图像转载 2017-04-07 10:50:55 · 4405 阅读 · 0 评论 -
OpenGL函数_ gl.glenable()详细介绍
glEnable 用于启用各种功能。功能由参数决定。与glDisable相对应。glDisable是用来关闭的。两个函数参数取值是一至的。参数说明:void glEnable(GLenum cap)GLenum 是unsigned int 类型cap 是一个取值。由值决定启用的功能键。各种功能请看参数cap的取值表转载 2017-04-07 10:42:06 · 15793 阅读 · 1 评论 -
计算机图形学(二)输出图元_6_OpenGL曲线函数_1_圆生成算法
生成圆和椭圆等基本曲线的函数并未作为图元功能包含在OpenGL核心库中。但该库包含了显示Bezier样条的功能,该曲线是由一组离散点定义的多项式。OpenGL实用库(GLU)中包含有球面和柱面等三维曲面函数以及生成B样条的函数,它是包含简化Bezier曲线的样条曲线的总集。我们可以使用有理B样条显示圆、椭圆和其他二维曲线。此外,OpenGL实用工具包(GLUT)中还有可以用来显示某些三维曲面(如球面、锥面和其他形体)的函数。然而,所有这些函数比本章中介绍的基本图元应用得更多,因此我们将在第7章进一步讨论这一原创 2016-04-19 19:25:06 · 3577 阅读 · 1 评论 -
OpenGL基础图形编程(四)基础程序结构
用OpenGL编写的程序结构类似于用其他语言编写的程序。实际上,OpenGL是一个丰富的三维图形函数库,编写OpenGL程序并非难事,只需在基本C语言中调用这些函数,用法同Turbo C、Microsoft C等类似,但也有许多不同之处。原创 2016-04-06 16:03:31 · 1648 阅读 · 0 评论 -
OpenGL基础图形编程(八)变换
OpenGL变换是本篇的重点内容,它包括计算机图形学中最基本的三维变换,即几何变换、投影变换、裁剪变换、视口变换,以及针对OpenGL的特殊变换概念理解和用法,如相机模拟、矩阵堆栈等。学好了这章,才开始真正走进三维世界。实际上,从三维空间到二维平面,就如同用相机拍照一样,通常都要经历以下几个步骤 (括号内表示的是相应的图形学概念): 第一步,将相机置于三角架上,让它对准三维景物(视点变换,Viewing Transformation)。 第二步,将三维物体放在适当的位置(模型变换,Modeling原创 2016-04-11 16:36:06 · 5642 阅读 · 0 评论 -
OpenGL基础图形编程(六)OpenGL辅组库的基本使用
OpenGL是一个开放的系统,它是独立于任何窗口系统或操作系统的。尽管它包含了许多图形函数,但它却没有窗口函数,也没有从键盘和鼠标读取事件的函数,所以要初学者写出一个完整的图形程序是相当困难的。另外,OpenGL图形函数中只提供基本的几何原形:点、线、多边形,因此要创建基本的三维几何体如球、锥体等,也很不容易。而OpenGL辅助库就是为解决这些基本问题专门设计的,它提供了一些基本的窗口管理函数和三维图形绘制函数,能帮助初学者尽快进入OpenGL世界,掌握关键的三维图形技术,体会其中奇妙的乐趣。但是,对于复杂原创 2016-04-09 17:24:05 · 4685 阅读 · 0 评论 -
OpenGL基础图形编程(七)建模
OpenGL基本库提供了大量绘制各种类型图元的方法,辅助库也提供了不少描述复杂三维图形的函数。这一章主要介绍基本图元,如点、线、多边形,有了这些图元,就可以建立比较复杂的模型了。7.1、描述图元 OpenGL是三维图形的函数库,它所定义的点、线、多边形等图元与一般的定义不太一样,存在一定的差别。对编程者来说,能否理解二者之间的差别十分重要。一种差别源于基于计算机计算的限制。原创 2016-04-11 16:11:30 · 5325 阅读 · 0 评论 -
计算机图形学(二)输出图元_1_OpenGL画点函数
OpenGL中的坐标位置可以有二维、三维或四维。g1Vertex的后缀为2、3或4表示其坐标位置的维数。四维描述意味着齐次坐标(homogeneous-coordinate)表示,其中的齐次参数h(第四维坐标)是笛卡儿坐标值的比例因子。齐次坐标表示对利用矩阵形式表达变换操作很有用,第4章将对其进行详细讨论。由于OpenGL将二维作为三维的特殊情况来处理,任意(x, y)坐标描述等同于h =1时的(x, y, 0) 。原创 2016-04-14 17:18:21 · 4142 阅读 · 0 评论 -
OpenGL基础图形编程(十)真实感图形基本概念
由于真实感图形是通过景物表面的颜色和明暗色调来表现景物的几何形状、空间位置以及表面材料的,而一个物体表面所呈现的颜色是由表面向视线方向辐射的光能决定的。在计算机图形学中,常采用一个既能表示光能大小又能表示其颜色组成的物理量即光亮度(luminance)或光强(intensity of light)来描述物体表面朝某方向辐射光能的颜色。采用这个物理量可以正确描述光在物体表面的反射、透射和吸收现象,因而可以正确计算处物体表面在空间给定方向上的光能颜色。原创 2016-04-13 20:37:15 · 11577 阅读 · 2 评论 -
OpenGL基础图形编程(九)OpenGL颜色
几乎所有OpenGL应用目的都是在屏幕窗口内绘制彩色图形,所以颜色在OpenGL编程中占有很重要的地位。这里的颜色与绘画中的颜色概念不一样,它属于RGB颜色空间,只在监视器屏幕上显示。另外,屏幕窗口坐标是以象素为单位,因此组成图形的每个象素都有自己的颜色,而这种颜色值是通过对一系列OpenGL函数命令的处理最终计算出来的。计算机颜色不同于绘画或印刷中的颜色,显示于计算机屏幕上每一个点的颜色都是由监视器内部的电子枪激发的三束不同颜色的光(红、绿、蓝)混合而成,因此,计算机颜色通 常用R(Red)、G(Gree原创 2016-04-12 14:49:04 · 6573 阅读 · 0 评论 -
OpenGL基础图形编程(五)
五、OpenGL的数据类型和函数名 OpenGL的数据类型定义可以与其它语言一致,但建议在ANSI C下最好使用以下定义的数据类型,例如GLint、GLfloat等。具体类型见表5-1。表5-1 命令前缀和参数数据类型前缀 数据类型相应C语言类型 OpenGL类型 b 8-bit integer signed charG原创 2016-04-06 16:15:44 · 1251 阅读 · 0 评论 -
OpenGL基础图形编程(三)WindowsNT下的OpenGL
3.1、Windows NT下的OpenGL函数 如前面的章节所述,Windows NT下的OpenGL同样包含100多个库函数,这些函数都按一定的格式来命名,即每个函数都以gl开头。Windows NT下的OpenGL除了具有基本的OpenGL函数外,还支持其他四类函数3.2、OpenGL基本功能 OpenGL能够对整个三维模型进行渲染着色,从而绘制出与客观世界十分类似的三维景象。另外OpenGL还可以进行三维交互、动作模拟等。具体的功能主要有以下这些内容。3.3、Windows NT下Ope原创 2016-04-06 10:27:22 · 1320 阅读 · 0 评论 -
OpenGL: 渲染管线理论详解
学习着色器,并理解着色器的工作机制,就要对OpenGL的固定功能管线有深入的了解。首先要知道几个OpenGL的术语:渲染(rendering):计算机根据模型(model)创建图像的过程。模型(model):根据几何图元创建的物体(object)。几何图元:包括点、直线和多边形等,它是通过顶点(vertex)指定的。 最终完成了渲染的图像是由在屏幕上绘制的像素组成的。在内存中,和像素有关的信息(如像素的颜色)组织成位平面的形式,位平面是一块内存区域,保存了屏幕上每个像素的一个位的信息。原创 2015-11-24 18:59:45 · 5147 阅读 · 0 评论 -
OpenGL基础图形编程(二)OpenGL概念建立
OpenGL是一个与硬件图形发生器的软件接口,它包括了100多个图形操作函数,开发者可以利用这些函数来构造景物模型、进行三维图形交互软件的开发。正如上一章所述,OpenGL是一个高性能的图形开发软件包。OpenGL支持网络,在网络系统中用户可以在不同的图形终端上运行程序显示图形。 OpenGL作为一个与硬件独立的图形接口,它不提供与硬件密切相关的设备操作函数,同时,它也不提供描述类似于飞机、汽车、分子形状等复杂形体的图形操作函数。用户必须从点、线、面等最基本的图形单元开始构造自己的三维模型。原创 2016-04-05 20:17:02 · 1645 阅读 · 0 评论 -
OpenGL---实例 球体 画圆锥
用OpenGL 的接口直接创出对应的实心球,圆锥体,圆环转载 2017-08-23 17:17:22 · 15687 阅读 · 0 评论