光栅线算法通过绘制像素段来显示线型属性。对于各种划线、点线和点划线样式,画线程序沿线路径输出一些连续像素段。在每两个实心段之间有一个给定长度的空白间隔段,段长度和中间空白段的像素数目可用像素掩模(pixel mask)指定。像素掩模是包含数字0和1的字符串,用来指出沿线路径需要绘制哪些位置。例如,掩模11111000可用来显示划线长度为5个像素和间隔空白段为3个像素的虚线。与1对应的像素位置赋以当前颜色,而与0对应的像素位置显示背景色。...
分类:
其他好文 时间:
2016-06-24 15:18:17
阅读次数:
200
管绘制水平或垂直段的方法可以快速地生成粗线,但是显示的线宽(在线路径垂直方向测量)依赖于它的斜率。45°线的宽度是用等长像素段绘制的水平或垂直线条宽度的1/√2。使用水平或垂直像素段实现宽度选择的另一个问题是:无论斜率大小,所生成直线的端点是水平的或是垂直的。这对于较粗的直线的影响则更为突出。我们可以通过添加线帽(line cap)来调整线端的形状,从而给出更好的外观(参见图4.4 )。线帽的一种形式是方帽(butt cap),这种形式通过调整所构成的平行线的端点位置,使粗线的显示具有垂直于线路径的方端。假...
分类:
其他好文 时间:
2016-06-24 15:15:37
阅读次数:
212
通常,任何影响图元显示方法的参数一般称为属性参数(attribute parameter)。诸如颜色和大小等属性参数确定了图元的基本特性。其他则指出在特定条件下怎样显示图元。特定条件属性的例子有在交互式对象选择程序中的可见性或可检测性。这类特定条件属性将在后面几章中详细讨论。这里,我们仅仅考虑控制图元的基本显示特性的属性,而不考虑特定的条件。例如,线段可以是点线或划线、粗线或细线以及蓝色或橙色。区域可以使用一种颜色或多色图案填充。文本可以按从左到右的阅读方式进行显示,也可以沿屏幕对角线的倾斜方向或是按垂直列...
分类:
其他好文 时间:
2016-06-21 08:00:29
阅读次数:
124
属性值和其他参数设置由定义当前OpenGL状态的独立函数指定。OpenGL中的状态变量有颜色和其他图元属性、当前矩阵模式、模型观察矩阵的元素、缓存当前位置和场景光照效果参数等。所有OpenGL参数都有默认值,它们在被指定新值前保持不变并发挥作用。任何时候我们都可以查询系统的状态参数的当前值。本章后面几节中只讨论输出图元的属性设定,后面几章将会涉及其他参数。...
分类:
其他好文 时间:
2016-06-21 07:43:19
阅读次数:
131
在3D计算机图形学中,我们经常需要使用多个坐标系,因此我们需要知道如何从一个坐标系转到另一个坐标系。在3D计算机图形学中,点(Point)和向量(Vector)的变换是不同的,所以需要分别讨论。 1、向量的变换 如图所示,有两个坐标系A、B和一个向量p。假设我们已经知道了p在坐标系A下的坐标为pA ...
分类:
其他好文 时间:
2016-06-18 21:15:57
阅读次数:
207
最左边一位控制红枪,中间位控制绿枪,而最右边的一位控制蓝枪。在帧缓存中增加一些位可增加可选择的颜色数量。每像素有6位时,每支枪可用2位来控制。这可使三支颜色枪的每支得到4个不同强度的控制,而使每个屏幕像素有64种颜色可选用。随着提供的颜色数量的增加,帧缓存的容量要求也增加。1024 x 1024分辨率的全彩色(每像素24位)RGB系统需要3 MB的帧缓存容量。...
分类:
其他好文 时间:
2016-06-18 11:37:31
阅读次数:
216
在介绍性的OpenGL程序中,我们讨论了建立初始显示窗口的函数。但是在生成图形后,常需要用鼠标将显示窗口拖到屏幕的另一位置或改变其形状。改变显示窗口的尺寸可能改变其纵横比并引起对象形状的改变。下列程序展示了怎样构造winReshapeFcn过程。命令glLoadIdentity包含在重定形函数中,从而使前面任意的投影参数值对新的投影设置不起作用。该程序显示了讨论的规则六边形。尽管本例中的六边形中心(在圆的中心位置)用显示窗口参数的概念描述,但是该六边形的位置不受显示窗口尺寸的任何改变的影响。这是因为六边形在...
分类:
其他好文 时间:
2016-06-12 03:27:23
阅读次数:
234
用于沿线段路径绘制像素的三种方法是DDA算法、Bresenham算法和中点算法,Bresenham算法和中点算法是等同的并且是最有效的。沿线段路径的像素的颜色位存储按照递增地计算内存地址的方式而有效完成。任何线段生成算法都可以通过分割线段并将分割的线段分布到可用处理器上来获得并行的实现。
圆和椭圆采用中点算法并根据其对称性进行有效而精确的扫描转换。其他二次曲线(抛物线和双曲线)也可以使用类似的方法进行绘制。分段的连续多项式的样条曲线广泛地应用于动画和计算机辅助设计中。曲线生成的并行实现能通过与...
分类:
其他好文 时间:
2016-06-12 02:48:38
阅读次数:
249
opengGL相关库的配置,包括glew、freeglut、GLTools、GLM...
分类:
其他好文 时间:
2016-06-12 02:29:59
阅读次数:
692
种子填充其实很简单,计算机图形学中介绍的使用栈,感觉作者是不是脑子进水了,直接使用一个队列用广搜就可以了啊,但是我就懒得写了,直接一个递归算了,有兴趣的同学自己试一试 ...
分类:
编程语言 时间:
2016-06-06 13:56:11
阅读次数:
602