变量表中的第一个参数指示正在使用单个帧缓存,第二个参数设定RGB模式,即默认模式。我们可以用GLUT_RGB或GLUT_RGBA之一来选择颜色模型。如果要用指向颜色表的索引来指定颜色,则用OpenGL常量GLUT_INDEX取代GLUT_RGB。
OpenGL的RGB和RGBA颜色模型...
分类:
其他好文 时间:
2016-06-24 15:40:50
阅读次数:
262
该数组的前三个元素指定一个RGB颜色值,接下来的三个元素指定一个顶点坐标(x, y, z),这样交错下去直到最后。将offset设定为相邻颜色或顶点值之间的字节数,即两者均为6 * sizeof(GLint)。颜色值从交错数组的第一个元素即hueAndPt[0]开始,顶点值从第四个元素即hueAndPt[3]开始。
因为一个场景通常包括若干个对象,每个对象有多个平表面,OpenGL提供一个可以一次性指定所有顶点和颜色数组及其他类型信息的函数。如果我们要将上例中的颜色和顶点值改为浮点数,则需按...
分类:
其他好文 时间:
2016-06-24 15:38:42
阅读次数:
150
光栅线算法通过绘制像素段来显示线型属性。对于各种划线、点线和点划线样式,画线程序沿线路径输出一些连续像素段。在每两个实心段之间有一个给定长度的空白间隔段,段长度和中间空白段的像素数目可用像素掩模(pixel mask)指定。像素掩模是包含数字0和1的字符串,用来指出沿线路径需要绘制哪些位置。例如,掩模11111000可用来显示划线长度为5个像素和间隔空白段为3个像素的虚线。与1对应的像素位置赋以当前颜色,而与0对应的像素位置显示背景色。...
分类:
其他好文 时间:
2016-06-24 15:18:17
阅读次数:
200
在有些图形软件包中,尤其是绘画系统,可以直接选择不同的画笔和画刷类型。这种类型的选项包括形状、尺寸和画笔或画刷的图案。图4.7给出了一些可能的画笔和画刷形状。这些形状可以按像素位置的数值形式存储在一个像素模板中,然后再设置到线路径上。例如,矩形画笔可用图4.8给出的模板,通过将模板的中心(或一角)沿线路径移动而实现,如图4.9所示。为了避免在帧缓存中重复设置像素,可以简单地累计在模板的每个位置上生成的水平段,并沿每一条扫描线跟踪起始和终止的x位置。...
分类:
其他好文 时间:
2016-06-24 15:18:13
阅读次数:
214
管绘制水平或垂直段的方法可以快速地生成粗线,但是显示的线宽(在线路径垂直方向测量)依赖于它的斜率。45°线的宽度是用等长像素段绘制的水平或垂直线条宽度的1/√2。使用水平或垂直像素段实现宽度选择的另一个问题是:无论斜率大小,所生成直线的端点是水平的或是垂直的。这对于较粗的直线的影响则更为突出。我们可以通过添加线帽(line cap)来调整线端的形状,从而给出更好的外观(参见图4.4 )。线帽的一种形式是方帽(butt cap),这种形式通过调整所构成的平行线的端点位置,使粗线的显示具有垂直于线路径的方端。假...
分类:
其他好文 时间:
2016-06-24 15:15:37
阅读次数:
212
时间过得真快,转眼间大二就结束了。这个学期大作业真的很多,让我这个学渣实在是应接不暇。JSP,数据库,图形学,操作系统。。。不过也是相对充实的一个学期。 说下收获吧:1:软件工程的大作业让我知道了团队合作的意义和高效性,在这之前我都没有一个团队的概念,对这个专业的认识还是不太够2:学习到了挺多东西的 ...
分类:
其他好文 时间:
2016-06-24 12:14:09
阅读次数:
131
环境准备:
Python版本是3.5.1。使用pip命令:pip install pyopengl 安装pyopengl模块。
图形学期末设计,不知道用opengl或webgl做什么炫酷的效果,只好做算法了,悲剧的写了500多行,缺点是裁剪算法未封装成函数。
代码如下:
#encoding='utf-8'
#python3.5.1
#author by 张政伟 2016/6/16
...
分类:
编程语言 时间:
2016-06-21 08:01:01
阅读次数:
267
通常,任何影响图元显示方法的参数一般称为属性参数(attribute parameter)。诸如颜色和大小等属性参数确定了图元的基本特性。其他则指出在特定条件下怎样显示图元。特定条件属性的例子有在交互式对象选择程序中的可见性或可检测性。这类特定条件属性将在后面几章中详细讨论。这里,我们仅仅考虑控制图元的基本显示特性的属性,而不考虑特定的条件。例如,线段可以是点线或划线、粗线或细线以及蓝色或橙色。区域可以使用一种颜色或多色图案填充。文本可以按从左到右的阅读方式进行显示,也可以沿屏幕对角线的倾斜方向或是按垂直列...
分类:
其他好文 时间:
2016-06-21 08:00:29
阅读次数:
124
属性值和其他参数设置由定义当前OpenGL状态的独立函数指定。OpenGL中的状态变量有颜色和其他图元属性、当前矩阵模式、模型观察矩阵的元素、缓存当前位置和场景光照效果参数等。所有OpenGL参数都有默认值,它们在被指定新值前保持不变并发挥作用。任何时候我们都可以查询系统的状态参数的当前值。本章后面几节中只讨论输出图元的属性设定,后面几章将会涉及其他参数。...
分类:
其他好文 时间:
2016-06-21 07:43:19
阅读次数:
131
在本学期的所学的裁剪算法中,有一个叫做Nicholl-Lee-Nicholl的算法。 在实践中,我遇到了一个小问题,因为教程中所讲的只有起点在剪裁框内、左侧和左上的情况,并说其余情况均可以通过点的平移或旋转变换等方式变换到上述3个区域内。 但考虑到裁剪框并不都是正方形,所以上方区域和左侧区域也不都是 ...
分类:
编程语言 时间:
2016-06-20 20:21:39
阅读次数:
333