荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: belong (属于......), 信区: Hardware
标  题: 图形加速卡技术论坛:1.入门篇--图形加速之 图形
发信站: 荔园晨风BBS站 (Tue Jul 29 15:13:03 2003), 站内信件

http://bbs.gzeasy.com/index.php?showtopic=35024

来了这么久,也对这里的朋友有了一个大概的了解。

恕我罗索一两句,这里的名字是“图形加速卡技术论坛”,可是情景完全不是这样
啊。选购,改卡,甚至游戏也是技术,我倒不说什么,可是n 多人在这里说些完全
没有关系的话题,或者让人看了完全摸不着头脑的东西,给我们留下不好的印象。


总的来说论坛里的朋友也有几个对软件,硬件和编成比较在行的人,从他们的一言
一行中我们也能察觉出来。可是绝大多数用户,虽说是电脑爱好者,可是可能由于
对电脑的各个方面接触不很多,不很广,所以总是来问一些重复的,基本的问题。
有的朋友甚至连显卡是干什么用的也不很清楚。鉴于此,我抽了一些时间,来写这
篇文章,稍后可能还有什么 中级篇,高级篇,xx 级篇(!) 啦等等的推出,主要的
目的是给广大的硬件爱好者指点一下迷津,也考验一下我 8 年的电脑知识经验。
如果有说的不妥当的地方,大家可以指正出来,我肯定虚心接受。

还有,这篇文章是我自己写出来的,其中的部分可能会参考一些有意义的文献,不
过我会标明的。我平时说话,回贴都懒懒散散的,不过这个学术说明之类的东西,
我会尽量谨慎用词。在这里呢,我不想把大家带回到古代,从头开始温习电脑的发
展史,因为我对电脑发展史,不好意思地说,也学的很差。还有,谢谢大家捧场来
看喽!

正题:入门篇 ---- 图形加速 之 图形

首先,我们先来咬文嚼字:图形加速卡。就是用来加速图形处理的一张扩展卡。所
谓的图形处理是什么呢?纯文本时代的电脑,那一行一行的命令和文字,不叫图形
处理。:-P 图形和文本是电脑输出给人们“看”的两样东西。

一、文本,被遗忘的时代

真正的文本处理呢,很不幸在 DOS 之后已经被完全淘汰了。所以没有什么“文本
加速卡”之流的东西,是因为现在的显卡,即使完全没有文本处理的功能,也能在
 Windows 下正常的工作。到这里,也许有人要问了:Windows 里的文字,不是“
文本”吗?答案是:对你来说,它是。可是对电脑来说,它就不是文本了。
Windows 里的文本,也是图形。那些文字是被 Windows “画”出来的。打开控制
面板里的“字体”,你看到了什么?种类繁多的字体是吧。这些都不是存放在显卡
里的,而是在硬盘上。当 Windows 接收到在窗口上打印一行字的命令的时候,它
会调度“画”字程序,从硬盘里读出字体,然后画到屏幕上来。现在就明了了:
Windows 的界面是完全基于图形的。所以图形加速卡对于 Windows 来说是十分重
要的。好了,现在,让我们忘掉“文本”吧!

二、图形的定义,像素及其他

再来看图形的定义。图形在 电脑里有两种截然不同的定义。第一种叫 光栅图形
(Raster Graphics),第二种叫 矢量图形(Vector Graphics)。所谓的“光栅图形
”,每个电脑玩家都有广泛的接触。你现在打开 Windows 的“画笔”程序,随便
画几个圆,几条线,图几块色,然后把你得图放大 8 倍(这个不用我指导你做吧?
!) 你看到了什么?是不是由一个一个的小方块组成了你的图形?每一个小方块,
被称作一个像素“Pixel”。也就是说,你的图形是有小小的像素们组成的。

盯着一个像素,你发现了什么?对了!一个像素只有一种颜色!( #%@#%^@)。而懂
一点色彩学的人,都应该知道,光是由 红(Red) 绿(Green) 和 蓝(Blue) 三种基
色以任意比例组合而成的。这图形里的一个像素,也是由 红,绿 和 蓝 组成的。
在最为广泛的电脑图形之中,每一个原色,由 八个 0 或 1 的二进制数,也就是
 8 位组成,也就是每种颜色的表现能力为 2^8 = 256 种,称之为“色阶”。学过
统计吗?每个原色 256 种色阶,那么 R/G/B 三种原色的表现能力为多少种颜色?
………  你在翻高中数学书?咳,算了,还是我告诉你吧。要把它们乘起来。结果
是 256 x 256 x 256 = …. 16777216 种。哇?!这么多?好,让我们用电脑习惯
的千进制来吧它分开:16,777,216 = 16M。这就是人们常说的什么 16兆色啦,真
彩色啦等等。

这里来一点插曲。如果一种染色占 8 位的话,那么 R/G/B 总共占 8 + 8 + 8 =
24 位。可是 24 位对现在的 32 位的电脑系统来说,是一个很不舒服的长度。应
为 24 位对于电脑一次处理的 32 位来说,太小,可是一次处理两个 24 位,又超
出了 32 位的处理能力。怎么办?只能在 24 位的颜色后面,再补上 8 位的空数
据。这样一来,一个像素的颜色将占用 32 位,正好和 32 位系统的处理能力相应
。这样处理起来就舒服多了。“空数据?你的意思是说每一个像素要浪费 8 位数
据?”答案并不是肯定的。最后的 8 位虽然在图形的显示上没有作用,可是由于
这里多了 8 位,人们总要想办法充分利用现有的资源的。所以另一个概念被加入
到了像素里:透明度。也就是大家耳渲目染的像素Alpha 值。用原本没用的 8 位
来保存 Alpha,不错的创意吧。这样,我们就可以根据像素的透明度,来把一个像
素和另一个像素混合,做出重叠的效果。这就人传说中的 Alpha 混合 特效 呵呵
。挺简单的吧。到这里,我们用比较专业的格式来表达一下最常用的像素:
R8G8B8A8。 哇,什么?好,拆开看:R8, G8, B8, A8 也就是 红 8 位,绿 8 位
,蓝 8 位,透明度 8 位。用来唬人蛮不错的啊~

光栅图形就介绍到这里的。接下来该另一个英雄登场:矢量图形。别小看了它,现
在的 3D 图像基础可是有很大一部分是基于它的。

光栅图形是一个一个的点,而矢量图形是什么呢?其实也是一个一个的点,不过还
有数学公式。这样讲:如果说光栅图形是告诉电脑在每个点画什么颜色的话,那么
矢量图形就是教给电脑该怎么样画一个图形。比如一个圆。如果用光栅图形来表示
,那么就要有一大堆的像素,来描速在圆所在的区域里,每个点的颜色。而用矢量
图形来表示:它是一个圆,圆的圆心,圆的半径(可能还有圆的颜色)。就这么简单
。在电脑画这两张图的时候,做的就是截然不同的工作了。画光栅图的时候,电脑
把所有的像素数据读出来,然后原模原样的 Copy 到显示缓存,这样我们就在屏幕
上看到这个圆了。而画矢量的圆,完全不同了:首先,电脑要确定圆的圆心,半径
,然后找到这个圆将落在屏幕的哪一片区域。这个很重要的一步,叫做 设定
(Setup)。找到了圆所在的屏幕区域之后,就可以用指定的颜色来填充这个区域了
。这一步叫 光栅化(Rasterize)。圆所在的区域被填充了出来,我们就自然而然的
看到这个圆了。

这个呢,就是电脑图形的初步基础。要牢记 光栅图形,矢量图形的定义,以及矢
量图形的画法。笼统地说有两步,就是 设定 和 光栅化。这在以后的 3D 图形知
识部分很重要。

好了,一口气写了这么多,我先歇会儿。大家慢慢消化消化啊。还有哪里不对一定
要说出来。

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.40]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店