小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

圖像色彩深度

 woada 2010-09-08
色彩深度(Colors and Depths)
近來玩家們爭論得最厲害的莫過于游戲中究竟要不要采用更高位數(shù)的顏色這一問題。其
中之一就是Voodoo 3與TNT 2孰優(yōu)孰劣的爭論(前者支持16位色渲染,后者支持32位色渲
染),那么是否就能立刻斷定TNT2的畫面質(zhì)量會(huì)比Voodoo 3要好呢?為了回答這個(gè)問題
,我們必須先了解什么是顏色深度。
上面的這幅圖就是采用16位色進(jìn)行渲染的,我們可以注意到,在光環(huán)處有一層層明顯的
紅色向黃色過渡的色帶。這是什么呢?
我們知道,16位色能表現(xiàn)的最大顏色數(shù)為216次方=65 536種,在上面這幅圖中,因?yàn)樵?br>顏色過渡的地方使用的顏色超出了16位色所提供的范圍,因此在顏色過渡的地方就出現(xiàn)
了明顯的色階。為了避免這些情況的出現(xiàn),人們提出了更高的色彩深度標(biāo)準(zhǔn),24位色,
24位色能提供224=16 700 000種顏色。可以說,人眼能看到的顏色種類也就是那么多了
,所以有人把24位色稱之為全彩色。更高的顏色深度能使圖像色彩還原更為準(zhǔn)確。因此
,我們可以肯定的是,更高的色彩深度的確能提高圖像質(zhì)量。但問題是,24位色或更高
的32位色有一個(gè)明顯的缺點(diǎn),它所占用的存儲(chǔ)空間比16位色的要大--為了描述更多的色
彩,必須使用更多位數(shù)的調(diào)色盤,占用的存儲(chǔ)空間自然就增加了。因此,16位色也并不
是一無事處,至少在現(xiàn)今顯卡性能不高的情況下能大幅度提高渲染的速度。當(dāng)需要的時(shí)
候,你還可以進(jìn)行適當(dāng)?shù)奶幚韥慝@得更好的過渡效果,我們把這種處理稱為抖動(dòng)。
那么,這個(gè)16位、24位或更高的顏色深度是怎樣生成的呢?當(dāng)我們向一個(gè)像素填上色彩
的時(shí)候,我們使用的是通過按一定比例混合紅(R)、綠(G)、藍(lán)(B)三種顏色(RGB
三基色)來獲得所需的色素。應(yīng)該注意到,我們只能使用僅有的3種顏色來獲得其它的色
素,并且因?yàn)?6位中的每一位都僅對(duì)應(yīng)一種特定的顏色。當(dāng)我們使用的是第16位顏色,
也就是最后一位顏色的時(shí)候,我們發(fā)現(xiàn)并不能很清楚地把這種顏色劃分成三種顏色混合
的色素。16/3會(huì)出現(xiàn)小數(shù)位啊,因此,在實(shí)際中,色盤里是這樣劃分的。紅色占了5位的
空間,綠色占了6位的空間,而藍(lán)色占了5位空間。因此,如果我們認(rèn)真看看調(diào)色盤就能
發(fā)現(xiàn),綠色部分占的位置要稍大。
采用了32位色的渲染后,我們發(fā)現(xiàn)色階現(xiàn)象完全消失了,色彩過渡得非常平滑,因此,
我們可以確定,使用更高的顏色深度肯定能提升畫面品質(zhì)。但為什么在玩游戲時(shí)發(fā)現(xiàn)兩
者之間的差別沒有那么大呢?這是因?yàn)楝F(xiàn)有的游戲在制作時(shí)多是用16位色的原圖,因此
你在玩(重放)的時(shí)候,無論是使用16位還是32位色的渲染方式,得到的效果都差不多
,但某些游戲已經(jīng)為了32位色做了充分的優(yōu)化,如果你有機(jī)會(huì)玩玩Motorhead這個(gè)游戲,
你就能很清楚的分辨出16位色和32位色的不同了。
阿爾法Alpha
32位色似乎讓人有點(diǎn)難以理解。照理說,32位色表示的應(yīng)該是2^32次方種顏色吧。但實(shí)
際上,32位色卻只和24位色一樣擁有同等數(shù)量級(jí)的色素。什么,它只擁有2^24次方種不
同的顏色?那么還有的8位顏色跑那里去了?
對(duì)于32位色來說,多出來的8位不是用來表示RGB顏色值,而是用來反映一個(gè)像素的alph
a值,也可以稱為alpha通道值。通過對(duì)像素alpha值的確定,我們能夠表示一個(gè)像素的透
明、半透明、不透明或者在它們之間的那種隱隱約約的效果。也可以這樣說,alpha值是
用來反映像素透明度的一個(gè)指標(biāo)。使用alpha值能夠展現(xiàn)一些特殊的畫面效果,好像玻璃
,水和爆炸效果。
如果一個(gè)像素被給定一個(gè)較低的alpha值,那么這個(gè)像素我們看起來就好像是透明的。反
過來,如果給它一個(gè)相當(dāng)高的alpha值,那么這個(gè)像素看上去就完全是不透明的了。在使
用中間值alpha通道的時(shí)候,就可以制作出好像有色玻璃的那種效果,如果你有用photo
shop的話,應(yīng)該會(huì)經(jīng)常使用到這種效果的。
上圖是3D Mark99 Max Pro中的第二個(gè)游戲測(cè)試場(chǎng)景,看到圖中綠色的那部分嗎?這就是
用中間值的alpha效果做的??瓷先ゾ秃孟癖痪G色光照一樣。
alpha效果被廣泛應(yīng)用到光影效果十足的游戲兵人中,許多爆炸的光影效果就是這樣實(shí)現(xiàn)
的。但前提是,必須使用32位色渲染,否則驚人的alpha光影效果就不會(huì)出現(xiàn)。
抖動(dòng)Dithering
抖動(dòng),是一種用來"欺騙"人眼的著色法。它通過隨意地向色彩過渡地區(qū)添加模仿周圍像
素顏色的像素,從而掩飾低位數(shù)圖像因色彩深度不足造成的過渡色區(qū)一條條的色階現(xiàn)象
。
為了講得更清楚點(diǎn),我們假設(shè)你現(xiàn)在有兩個(gè)調(diào)開的水彩顏色,放在色盤上。兩種顏色中
間空出些位置?,F(xiàn)在,你要把兩種顏色混合起來,為了使兩種顏色不要區(qū)分得那么明顯
,你大力抖動(dòng)色盤,這下好了,A顏色向B顏色靠了過來,B顏色也有點(diǎn)向A顏色端混過來
,結(jié)果就在它們中間的地區(qū)混合起來形成一些由原來兩種顏色混合起來的過渡色,看起
來有一種很平滑的過渡過程,沒有了那種突變的感覺。
你看了下面的這幅圖就會(huì)明白了。
這幅圖,遠(yuǎn)處看,我們發(fā)現(xiàn)墻壁上的顏色渲染得很好,過渡得非常平滑?,F(xiàn)在我們把它
放大來看看。
我們可以發(fā)現(xiàn),渲染得很平滑的墻壁原來是由許多不規(guī)則顏色變化的小點(diǎn)組成的,如果
不是放得那么大,還以為是使用一幅高位色紋理的貼圖呢。通過抖動(dòng)處理,16位色的圖
像也能表現(xiàn)出不錯(cuò)的畫質(zhì)。我們發(fā)現(xiàn),Voodoo3這塊標(biāo)準(zhǔn)的16位色顯示芯片代表它采用特
別的抖動(dòng)算法,這個(gè)算法集成在新版本的驅(qū)動(dòng)程序中,通過設(shè)置Smooth選項(xiàng),Voodoo 3
幾乎能獲得與TNT 2在32位色渲染下的平滑圖像。
紋理過濾
在實(shí)際應(yīng)用中,對(duì)紋理進(jìn)行處理是很吃力的。雖然對(duì)固定大小的紋理,比如256*256紋理
來說處理起來很簡單,然而要把它貼到各種各樣的多邊型上,卻不是那么容易的事。有
沒有想過,當(dāng)經(jīng)過計(jì)算后,texel(特塞爾)要被放置到一個(gè)不能定位的地方,又或者是
計(jì)算出來的X或Y軸的值不是整數(shù)?你不能把texel放置在計(jì)算好的地方,因?yàn)槟阒荒芾L制
完整的點(diǎn)(這是最小的繪制單位了)。
Point Sampling(點(diǎn)取樣)
這時(shí)你不得不把texel繪制到離計(jì)算值最近的完整點(diǎn)上,這就叫做點(diǎn)取樣。由于使用了點(diǎn)
取樣,因此特塞爾只能取以計(jì)算值為中心最近的一些像素。然后,這個(gè)帶有相同特性的
紋理就會(huì)映射到像素上。不管怎么樣,這樣就導(dǎo)致一些超出范圍的像素明顯凸了出來,
畫面就出現(xiàn)了一個(gè)個(gè)"小格子"組成的情況。如果沒有采用一些特別的過濾方法,一條界
乎于兩個(gè)不同紋理之間的斜線邊緣就會(huì)出現(xiàn)鋸齒的現(xiàn)象,就是因?yàn)樵谶吘壣系南袼貨]有
被正確放置在原來計(jì)算好的位置上。
當(dāng)像素稍微超出自己原定位置的時(shí)候,雖然它們?nèi)匀徊捎谜_的顏色值,但我們假設(shè)它
超出的位置剛好是一片深深的藍(lán)色,而這一點(diǎn)超出的像素剛好是白色,那么它就很容易
被注意到了。另外,點(diǎn)取樣還有一個(gè)缺點(diǎn)就是像素會(huì)出現(xiàn)"微微發(fā)光"現(xiàn)象。下面是一幅
3D Mark99 Max的截圖,我們可以留意到圖片遠(yuǎn)處的像素點(diǎn)有些發(fā)光的現(xiàn)象,這是由于該
像素的值是僅從一個(gè)特塞爾上取值造成的。這種現(xiàn)象在運(yùn)動(dòng)的3D環(huán)境中更是明顯。
很明顯,在實(shí)際使用中單純使用點(diǎn)取樣不是辦法。想一想在DF的大混戰(zhàn)中,明明我是躲
在一棟建筑物后的,本應(yīng)該看不到我,但我腳的一個(gè)像素卻超出了范圍,露了出來,從
而把我隱藏的位置給暴露了(這樣打法不賠機(jī)時(shí)才怪)。所以,我們需要一些特別的方
法來處理這些錯(cuò)誤。
Bilinear Filtering(雙線性過濾)
雙線性過濾要比點(diǎn)取樣做的多一點(diǎn)。它以需要貼紋理的那個(gè)像素點(diǎn)為中心,而在相對(duì)應(yīng)
紋理中該點(diǎn)附近2*2范圍內(nèi)(即4個(gè))特塞爾的顏色值求一個(gè)平均值,然后使用這個(gè)"平均
的"顏色值做為需要貼圖像素的色值。通過使用雙線性過濾,兩個(gè)不同特塞爾之間的過渡
就可以更圓滑,不會(huì)出現(xiàn)在點(diǎn)取樣中出現(xiàn)的"格子"現(xiàn)象,但它同時(shí)帶來一個(gè)新的問題,
那就是經(jīng)過雙線性處理后的圖像會(huì)顯得有些模糊。如果你使用過photoshop就應(yīng)該知道了
。其中的blur濾鏡效果就和雙線性過濾差不多。
雙線性過濾是最基本的3D技術(shù),通常3D顯示卡都會(huì)提供這種過濾效果,并且都能在一個(gè)
時(shí)鐘周期內(nèi)實(shí)現(xiàn)。下圖就是雙線性過濾和點(diǎn)取樣的對(duì)比圖
從圖中可以看到,圖像經(jīng)過雙線性過濾后,點(diǎn)取樣中"格子"的現(xiàn)象都消失了,整幅圖中
像素過渡都很平滑,沒有發(fā)現(xiàn)明顯的越界點(diǎn)。然而,雙線性過濾也帶來了一個(gè)新的問題
,那就是"深度變化"錯(cuò)誤。設(shè)想一下,按照正常的透視,當(dāng)圖像離我們?cè)竭h(yuǎn),那么圖像
看起來就越小。而貼到該圖像(像素)中的紋理也越小。造成紋理被壓縮了。結(jié)果造成
雙線性過濾中,離視點(diǎn)較遠(yuǎn)位置出現(xiàn)了貼圖錯(cuò)誤。很可惜,對(duì)于雙線性過濾來說,這是
固有的錯(cuò)誤,不可能避免和解決。
MIP mapping(組合式處理映射)
那么我們?nèi)绾蝸硇拚疃茸兓e(cuò)誤呢?答案是引入組合式處理映射技術(shù)。組合式處理映射
其實(shí)是用一組同一物品不同大小的紋理來提供給不同深度(大小)像素貼圖取值時(shí)使用
的。當(dāng)視點(diǎn)比較近的時(shí)候,像素點(diǎn)填充的顏色采用大塊紋理中的采樣值。當(dāng)視點(diǎn)越來越
遠(yuǎn)的時(shí)候,就選用越來越小的紋理來進(jìn)行取值。這樣我們就能獲得沒有因視點(diǎn)距離變化
而變形的圖像。
Level of Detail(LOD,深度等級(jí))
深度等級(jí)的計(jì)算是用來確定哪種大小的Mipmaps(組合式位圖-紋理)要被貼到對(duì)象上。
深度等級(jí)能夠控制一個(gè)像素由幾個(gè)特塞爾映射而成的。還記得我們前面說的嗎?特塞爾
是組成紋理的最基本單位,當(dāng)一個(gè)紋理被用來做貼圖使用的時(shí)候,它甚至可以縮小為一個(gè)
點(diǎn)貼在像素中,換而言知,一個(gè)像素能夠是幾個(gè)甚至無限多個(gè)特塞爾映射而成的。如果
特塞爾映射到像素上的比例為1:1。那么LOD的值就為0。表示沒有等級(jí),這時(shí)就會(huì)采用最
大的紋理來進(jìn)行貼圖處理。而當(dāng)4個(gè)特塞爾映射到一個(gè)像素上的時(shí)候,比率為4:1。LOD此
時(shí)的值為1。系統(tǒng)就會(huì)采用小一號(hào)的紋理來進(jìn)行貼圖。當(dāng)比例不斷上升,用來貼圖的紋理
就越小,從而保證遠(yuǎn)近貼圖的變化成比例。消除了由雙線性過濾造成的深度變化這一錯(cuò)
誤。
可見,雙線性過濾,Mip mapping和LOD是一起使用的。
Trilinear Filtering (三線性過濾)
Mip mapping雖然解決了雙線性過濾造成的深度變化錯(cuò)誤,但它又帶來了一個(gè)新的錯(cuò)誤,
那就是"組合交疊"現(xiàn)象。組合交疊現(xiàn)象發(fā)生在當(dāng)相臨的兩個(gè)地方使用了LOD級(jí)別不同的同
一塊紋理來進(jìn)行貼圖。兩塊不同大小的同一塊紋理接合的地方顯得非常不平滑以至于人
們很容易就能注意到這一區(qū)別。組合交疊錯(cuò)誤經(jīng)常出現(xiàn)在地板或墻壁上,因?yàn)樗鼈兺ǔ?br>是采用許多組大小不同的同一紋理貼圖而成的,看起來就會(huì)出現(xiàn)有的地方很清晰,但有
的地方很模糊的現(xiàn)象。
三線性過濾就是用來減輕或消除不同組合等級(jí)紋理過渡時(shí)出現(xiàn)的組合交疊現(xiàn)象。它必須
結(jié)合雙線性過濾和組合式處理映射一并使用。三線性過濾通過使用雙線性過濾從兩個(gè)最
為相近的LOD等級(jí)紋理中取樣來獲得新的像素值,從而使兩個(gè)不同深度等級(jí)的紋理過渡能
夠更為平滑。也因?yàn)槿绱?,三線性過濾必須使用兩次的雙線性過濾,也就是必須計(jì)算2×
4=8個(gè)像素的值。對(duì)于許多3D加速開來說,這會(huì)需要它們兩個(gè)時(shí)鐘周期的計(jì)算時(shí)間。也就
是說,對(duì)于某些3D加速卡來說,使用三線性過濾幾乎會(huì)使性能下降一半!
各向異性過濾Anisotropic Filtering
各向異性過濾是近來才提出的新型過濾方法。各向異性過濾的實(shí)現(xiàn)方法有點(diǎn)"變態(tài)",它
需要對(duì)映射點(diǎn)周圍方形8個(gè)特塞爾甚至更多的特塞爾進(jìn)行取樣,然后獲得平均值映射到像
素點(diǎn)上。對(duì)于許多3D加速卡來說,采用8個(gè)以上特塞爾取樣的各向異性過濾簡直是要了它
們的命。因?yàn)樗鼈兏静荒芴峁┳銐虻南袼靥畛渎使┙o各向異性過濾使用。對(duì)于3D應(yīng)用
,特別是3D游戲來說,各向異性過濾是很重要的一個(gè)功能。這是因?yàn)椋螒蛑械奈矬w有
大部分的時(shí)間不是與我們平行的。
各向異性過濾到底是做什么的呢?如果有一個(gè)多邊型,它的一個(gè)面剛好與我們的視線垂
直,那么根本就不用各向異性過濾。當(dāng)視點(diǎn)漸遠(yuǎn)的時(shí)候,Mip mapping就會(huì)使用更小的紋
理來進(jìn)行貼圖。但在大多數(shù)情況下,我們的視線卻與多邊型有一定的角度。這些有角度的
多邊型就會(huì)出現(xiàn)型變,從而引起畫面失真,各向異性過濾就提供了解決方案。
每一輪的3D顯卡大戰(zhàn)的征兆都大同小異:在這段時(shí)期內(nèi)各家顯卡芯片研發(fā)大廠通常都保
持神秘姿態(tài),半遮半掩地發(fā)布一些連名字也沒有確定的圖形芯片規(guī)格。很感謝這次的游
戲開發(fā)者年會(huì),我們得以掌握這些次世代顯示芯片的詳細(xì)規(guī)格:表1
規(guī)格終究是規(guī)格,在實(shí)際發(fā)布的時(shí)候,通常會(huì)使我們大失所望,不是規(guī)格縮了水,就是
性能沒有達(dá)到期望的等級(jí)。我們上表中的G450現(xiàn)在還不能確定它的真實(shí)運(yùn)行頻率,而是
根據(jù)Matorx早前公布的G450將會(huì)使用G400 MAX核心,再加上使用.18微米工藝生產(chǎn)而成,
因此估算其將會(huì)運(yùn)行在200MHz。而S3&Diamond的GX4-C我們是按它沒有在Savage2000(V
iper II)上增加渲染通道估算出來的性能值。另外我們還預(yù)計(jì),在這些新一代的顯示卡
中,一種新式的顯存即將被廣泛采用,例如DDR FCDRAM,但到目前為止它究竟是什么東
西我們還沒弄清楚,但我相信在將來的顯示卡中它將會(huì)被大量采用。
那么現(xiàn)在讓我們來詳細(xì)看一下這些次世代顯示卡帶來了什么新的東西,3D性能和表現(xiàn)力
將會(huì)被提升到一個(gè)什么樣的新臺(tái)階。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多