📄 专业tc--图形篇7.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0034)http://tc2001.myrice.com/base2.htm -->
<HTML><HEAD><TITLE>专业TC--图形篇</TITLE>
<SCRIPT language=JavaScript><!--document.write('<SCRIPT language="JavaScript1.1" SRC="http://diyad.myrice.com/js/diyad.js">');document.write('</SCR');document.write('IPT>');//--></SCRIPT>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="Microsoft FrontPage 5.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META content=none name="Microsoft Border"></HEAD>
<BODY>
<H1 style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align=center> </H1>
<H1 style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align=center>
<FONT color=#ff0000><B>图形设备和系统</B></FONT></H1>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"></P>
<P align=left>
大多数的输出设备都使用位图,而PostScript打印机(它使用向量数据和位图数据)及所有的绘图仪是例外。<BR>
点阵打印(包括激光打印机)是最常用的输出设备。其本质是位图设备,但是,如果它们提供内嵌的解释器,如PostScript或HPGL,则可把打印机当成是向量设备。大多数打印机都有它本身的数据格式或工业标准格式(如PCT)。不包含解释器的打印机一般都能提供快速输出和较低的开销。彩色打印机包括简单的彩色色带点阵打印机、彩色喷墨打印机和彩色激光打印机。高性能的打印机不仅具有自己的格式而且还需要在应用中有定制的驱动程序或者支持彩色PostScript。<BR>
绘图仪与点阵打印机类似,一般只接收符合厂家规定格式的数据。许多绘图仪已采用HPGL标准,要输出到绘图仪的应用(如CAD程序等)可以产生HPGL输出,还有一些可以阅读HPGL格式的文件。<BR><BR>
EGA卡是通过VLSI(超大规模集成电路)实现的,它拥有丰富的、灵活的图形功能,为图形应用的开发提供了有力支撑。<BR>(1)显示模式。<BR>表中列出了EGA卡的图形显示模式。表中可以看出EGA最多可提供16种彩色,最大分辨率为640×350。<BR>模式6是CGA的最高分辨率模式,它支持的屏幕分辨率水平为640个象素,垂直为200个象素,但是只有两种彩色。<BR>模式4和5是很普通的CGA图形模式,显示的分辨率是水平320象素,垂直为200象素,彩色有4种,每个象素为2位。<BR>模式0dh的分辨率为320×200,彩色种类为16,每个象素用4位保存。<BR>模式0eh不是CGA或MDA的兼容模式,但它提供了更多的彩色。<BR>模式0fh是EGA卡独有的,它的分辨率为640×350象素。<BR>模式10h所支持的分辨率与模式0fh一样,但它提供16种彩色。<BR><BR>
位映象图象可以是显示卡在图形模式下显示的任何图形画面。下面就以显示在屏幕上的图象为例进行讨论,在讨论时假走图象文件所保存的图象刚好可显示在显示器上。当一幅显示在EGA图形卡上的图象,在显示时是一幅彩色图象,打印后变成单色图象。<BR>当然如果用户使用CGA图形卡来显示这幅图象,那么只能显示一部分,原因是CGA图形卡的分辨率只有640×200象素,而EGA图形卡的分辨率为640×350象素,当然,如果把这幅图象用VGA卡640×480分辨率显示,那么图象只能充满屏幕的上面部分,下面部分为空白。<BR>
由于EGA卡的分辨率为640×350象素(模式0fh),一个屏幕总共有640×350=224,000个象素,显示器的屏幕数据保存在内存中,位于内存高区,图象数据的保存和程序或数据保存的方法类似,都是作为8位字节串。在单色图象中,每位对应于一个象素,这祥每个字节就包含8个象素,上面这幅图象所需的存储空间为224,000/8=28k字节。由于上面这种图像是用位映射到象素上的,所以也称这类图象为位映象图象(bitmapped
image)。<BR>
下面介绍把EGA卡上的图象保存到文件中的方法(这种文件显然就是我们所指的图文件)。EGA卡的屏幕数据保存在段A000H中,把该段中的28K字节拷贝到文件中即可,可用下面的程序段来完成这个任务:<BR>FILE
* fp;<BR>if ( (fp = fopen (" SCREEN. BIN" , " wb”)) ! = NULL ) {kk1}<BR>fwrite
(MK_FP (0Xa200 , 0) , 1 , 28000 , fp ) ; <BR>fclose ( fp ) ;<BR>} else
printf("Error in creating file" ) ;<BR>
上面这个程序片段很简单,由于只有28K字节的数据,程序执行速度也会很快,但是它的效率并不高,原因在于源图象中有大片空白,也就是说图象中有很多白色区域,没有必要把它们都放到图象文件中,当图象很大时,如果彩色再很多,那么图象文件必然要占据大量的存储区。<BR><BR>EGA卡是一种彩色能力及分辨率都属于中等的图形卡,在其中引人了调色板概念,使得可用的颜色总数比同时可显示的颜色数要多得多。当然彩色总数由每种颜色在调色板寄存器中的位数来决定。<BR>VGA卡比EGA卡具有更强的彩色功能,同时显示的彩色可达256种。VGA卡与EGA卡类似,但EGA用的是数字显示接口,而VGA卡用的则是模拟显示接口。下面简单介绍VGA图形卡所<BR>支持的显示模式。<BR>上表是VGA图形卡所支持的图形显示模式,位于模式10h以前的模式与EGA卡的对应模式一样,这使得本来在EGA卡上运行的程序也可在VGA卡上运行。<BR>模式11h支持的是VGA卡的最高分辨率,水平方向为640个象素,垂直方向为480个象素,但只支持2种彩色,这种模式下显存的开始地址为A000:0000。<BR>模式12h也支持VGA卡的最高分辨率,但它具有16种彩色。对彩色图形应用程序而言,这是一种常用显示模式。<BR>模式13h中,VGA卡提供256种颜色,这种模式是VGA卡的特有模式,分辨率为320×200象素,工作在这种模式下的VGA卡提供的颜色种类最多。<BR><BR>SuperVGA
产品在体系结构上和标准的VGA
卡有所不同,每一种SuperVGA卡的制造商都在其产品的体系结构上作了一些扩充,以适应新的显示模式,并且具有一些新的特点。<BR>下面介绍SuperVGA所提供的增强型图形模式。<BR>(1)
640×400,256色模式<BR>这是多种适配器支持的逻辑分辨率,它要求有256KB显存。这种模式的实现方式通常和VGA的13h模式很类似,所不同的是每一扫描行的象素数和扫描行数比模式13h高一倍。<BR>(2)
640×480,256色模式<BR>这种模式要求VGA卡具有512K显存。<BR>(3)
800×600,256色模式<BR>这是用于大多数廉价的多频显示器的最高分辨率模式,它也要求相应的卡有512K显存。<BR>(4)
1024×768,256色模式<BR>这是目前的SuperVGA图形适配器上所见的较高分辨率。这种模式要求768K的显存。<BR>(5)
800×600,16色模式<BR>此种模式需240K显存,此种模式和模式12h的实现方式类似。<BR>(6)
1024×768,16色模式<BR>这是SuperVGA产品中共有的较高分辨率,只有稍好的显示器才支持这种分辨率。<BR>上面介绍了多种增强的图形显示模式,每种SuperVGA产品所支持的图形显示模式不尽相同。<BR><BR>在EGA和VGA图形适配器中,可用两种方法表示彩色,一种是压缩象素法,另一种是彩色位平面法。在压缩象素法中,一个象素的所有彩色信息被压缩到字节中,如果字节中放不下,就要放到字中。<BR>(a)压缩象素法<BR>压缩象素法是在显示存储器中各个位平面各取一位,经过位运算后经显示卡显示在监视器上。<BR>(b)彩色位平面法<BR>在彩色位平面法中,把显示存储器分割成几个独立的存储位平面,每个位平面用于控制一种彩色成分,每一显示象素在每个位平面中占有1位位置。<BR>根据用来复制彩色的介质的不同,彩色可以用两种基本方式中的一种进行表示:一种是增色系统,另一种是减色系统。<BR>当彩色图画被印在纸上时,它们是用通常叫做CMY的彩色系统实现的。CMY中的C表示cyan(青蓝),M表示megenta(品红),Y则表示yellow(黄)。实际上,正确的叫法应是CMYK,K表示black(黑)。<BR>减色合成法中的三原色是青蓝——一种适中的蓝色、品红——一种相当普遍的红颜色和纯黄色。用户也许曾在现实世界中见过这些颜色的样品。<BR>激光打印机可用减色合成法打印彩色,它们的颜色就是用这些术语表示的。这种模型对视频显示器就不适用,因为视频显示器本身不是白的,它们是黑的,就是说在其沉寂状态它根本不发射任何光。显象管发出的任何光都被加到黑色上,这样,在计算机屏幕上生成颜色的方法和纸上所做的恰好相反,这叫做增色合成法,它的基色是红、绿、蓝。<BR>要在计算机屏幕上显示彩色图形,必须采用某种机制使得每个象素能够决定在显象管的扫描束照亮它时需要多少百分比的红、绿和蓝光。<BR>实现这一功能最易想到的办法是使每一个象素有三字节的相关信息,每一个字节对应一个基本增色的百分比。该方法有许多不足,其中一个典型的问题就是:一个具有EGA图形模式的屏幕大小的图象需要0.75MB以上的存储空间,该图象的磁盘文件即使是用基于复杂串的压缩技术也需要相当大的存储空间,这样的一个屏幕更新起来速度非常慢。<BR>显然这种方法是不实用的。按这种方法构造的视频显示器可以一次同时用一千六百种不同彩色来产生图象,但是屏幕的更新速度是一必须着重考虑的因素,这个问题不解决,我们只好舍弃上述的显示器构造方法。<BR><BR>计算机技术发展到今天,以其不可抗拒的魅力获得了越来越广泛的应用,CAD/CAE应用程序、适用于互联网的3D应用程序、Internet广播技术、3D游戏以及能够提供卓越影音效果的DVD技术等这些3D图形密集型应用程序日渐成为计算机在各行业及家庭应用的主流,提供快速的三维图像生成速度。性能更高、视觉效果更逼真、更富娱乐性以及价格更加合理的个人电脑平台,形成当今用户迫切追求的目标。<BR>这些主流技术的应用均以三维图像处理技术的应用作为核心。由于各专业用户及家庭用户对声、色、效的追求,使得作为图形处理核心的三维图像处理技术理所当然地成为推动未来一代可以与视窗兼容的图像处理平台发展的原动力,这一平台将为个人电脑用户提供前所未有的逼真的立休效果及卓越的运算性能。因此,要了解未来的计算机技术,就必须先了解三维图像处理的技术。<BR>三维图像处理过程由创建三维模型及执行几何运算开始。一个完整的三维图像处理过程可分为物理运算、几何转换。剪切及光效、三角形设定和像素渲染四个阶段,其中需要进行大量的浮点运算(包括物理实体,几何转换、剪切、光效,以及三角形设定)和整数运算(包括三角形设定和像素渲染)。在图形渲染方面,图形加速卡厂商已获得了很大的进步,
AGP图形加速卡的问世。更快的内存、更加适用于三维图像处理的应用接口(API)如Directx和OpenGL的出现,大大提高了处理复杂整数运算密集型过程的速度,但对于3D图像处理过程中大量浮点运算密集型过程的处理则需要由中央处理器完成。而目前的情况是,中央处理器的数据处理速度无法与图形加速卡的处理速度匹配,从而减慢了数据传输速度,因此在图像处理的前端阶段即形成了一个拖慢整体三维图像处理速度的瓶颈。如何解决这个瓶颈问题,成为目前各处理器生产厂商迫在眉睫的问题。<BR><BR>还是在1993年386大行其道的时候,对显示卡的要求是插上显示器能亮就成;到了1995的486时代,只要进得去WIN31,放得了VCD就足矣;这时偶尔听说过3D加速卡,也在心中不以为然他说:3D卡,那是什么东西?<BR>1996年奔腾流行,3D游戏在市场上开始出现,但人们正对多媒体感兴趣,关注的是CPU,是好声卡,显示卡也就继续被冷落在一边,但3D卡的先头部队已经上市。<BR>到了1997年上半年,随着几个3D游戏的发布及人们对游戏的“新认识”,加之各媒体的炒作和Virge芯片的热销,3D时代在某些人的心目中已经来临;下半年,E3大展开幕,其中最风光的莫过于3D游戏和3Dfx,一块好显卡的重要性在人们心中也提高到了前所未有的高度。此时,人们才愿意花大价钱配好显卡,而不象以前只用百把来块钱打发了事。<BR>以后的芯片之争无疑会集中在3Dfx
Voodoo2、Matrox G200、Intel i740 、 3DLabs Permedia 2、ATI RagePro Turbo和NVIDIA RIVA
128 and RIVA ZX这几款上。3Dfx Voodoo2我就不多罗唆了,大家想必已经从各种渠道知道了它的消息; Matrox
G200则要讲几句:它是Matrox继Millennium II与Mystique 220之后推出的新东东,力图挽回Matrox现在的颓势;Intel
i740是Intel进军3D芯片界的第一弹,也是Intel一个“大阴谋”的开始; 3DLabs Permedia
2则是3Dlabs公司继permedial后的新一代产品;ATI Rage Pro Turbo是ATI在原有的Rage
Pro上的增强新一代;NVIDIARIVA 128 and RIVA ZX实际是同一种东西,多出的ZX意味着RIVA
128有了8MB的显存,可支持AGP×2模式了。每种芯片都有自己的优势,也都各有高招。比较显示芯片的具体性能从以下几个方面来做个比较:<BR>1.
2D性能<BR>在2D方面起主要作用的是芯片的RAMDAC与显示内存,这两项对显示的分辨率、颜色数与刷新率都有大影响。虽然说现在用户对2D性能的重视程度远不如以前,但2D性能的提升就如CPU速度的提升一样,与以前不可同日而语。现在的用户大部分时候都不必等着显示卡工作,而是显示卡等着用户来输入。所以单纯的测试软件所显示的数值已经不象以往那么能说明问题。<BR>2.
3D性能<BR>3D性能是检验现在显示芯片最重要的一个标准,也是本文讨论的重点。由于Vedoo系列只支持全屏3D加速,所以我们在这里说的3D性能其实是专指游戏中的3D性能<BR>3.
3D质量<BR>单纯地从速度上来确定一种芯片的好坏现在似乎没有说服力。现在的3D游戏不是光有速度感就玩得下去的,对画面的质量有些人似乎还看得更重要一些。<BR>现在的36卡市场的火爆毋需多言。老一代的3D芯片由于性能同Voodoo相比差了不止几倍,早先被捧上天的S3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -