你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

帝都鳥巢 帝都鳥巢 2017-10-24

大家好!今次,鳥巢給大家帶來一個似新非新的名詞----雙線性過濾。

開端

這鬼名堂詞彙可能有些朋友會比較陌生,彆著急,且看我慢慢道來。我們先看看下面兩幅圖......

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

已開啟雙線過濾 (p1)

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

未開啟雙線過濾(p2)

這兩幅同樣尺寸的圖片大家覺得哪一幅圖片看起來更柔和更舒服?不用說了肯定是p1。

什麼叫雙線性過濾?

雙線性過濾-bilinear filtering。顧名思義,它是廣泛應用在當今視頻,圖片中的過濾模式。因其獨特的過濾效果,如今已成為各種低分辨率顯示不可或缺的組成部分。

有些玩家可能不知道,遊戲紋理數據中儲存的資料和顯示出的效果很多時候是不同的。因為硬件限制,設備往往是以“點”或者說是“單元”的方式表示一幅圖(我們所使用的電腦就是這樣的)。如下圖:

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

這是一幅尺寸為189x86的圖片

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

這是放大N倍後的效果。

大家可以看到,放大後的圖片已經看不出是什麼東西了。這也就和我們肉眼或放大鏡所看東西方式不一樣,而我們所謂的“點”也就明顯的表示出了。這一個一個極小的方塊(點/單元/像素)所表示的顏色不盡相同,其相互以無縫的方式組成就有了我們所看到的一幅圖片。那麼,所謂的像素高低,也就和圖片細膩度有著直接的關係。

時至2017年,電子遊戲已經陪我們走過了40多個年頭。如今各種真實度足以達到照片級的渲染效果可謂是鋪天蓋地。回顧當年在8、90年代,那時候遊戲的分辨率可沒這麼高。著名的卡帶遊戲機Family Computer也就是我們熟知的FC遊戲機因為當時技術有限,其分辨率最多隻有256X224。遊戲雖然過時了,可世界上還有不少20世紀出生的玩家,他們雖然已經步入中年或青年,但那種懷舊的思緒仍然在促使著那過往中小夥伴打堆玩魂鬥羅的情景。但放眼目前的顯示設備如此高端,主流顯示設備分辨率已經是1920X1080了。

那麼,想要把過去的低分辨率遊戲在高分辨率下顯示,其中所付出的代價就是明顯的“鋸齒”。這些鋸齒在相鄰的同色中不會發覺,但在相鄰的異色中就會有明顯的單元格像素差異。因為數據中的所有原始紋理,也就是圖片規格只有256X224個像素。我們要讓它強行在高分辨率下顯示就只有以多個像素放在一起成為一個單元的方式來顯示一個原始單元像素。說得通俗點就是,我只有20個硬幣排列的正方形大小圖片,你要我強行給出40個硬幣大小排列的圖片,那我只有把每個硬幣“放大”2倍,然後放在一起成為你想要的結果。而雙線性過濾就是利用這些像素所表示的點周圍四個最近的點之間進行雙線性插如,以此來達到平滑的顯示效果。如下兩幅圖:

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

未開啟插補放大

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

開啟插補放大

以上圖片我們可以看出,開啟插補之後不同顏色像素之間會多出很多近似顏色。這種方式在比較下將消耗更多電腦內存資源(現在主流電腦配置可以無視)。

為什麼我唯獨推薦這種顯示模式?

其實,目前遊戲主機模擬器支持的過濾模式可謂是五花八門,針對過去存在的dx9和現在的dx10、dx11......環境下所支持的還有scale2x,hq3x,super2x saI等等這些濾鏡,它們都是屬於較為流行的過濾方式。但根據處理像素方式不一樣,最終所帶來的效果就千差萬別。如下圖:

你的2D模擬遊戲的鋸齒嚴重?因為沒啟用它……

那麼,我們玩模擬器遊戲追求的就是懷舊,體驗。上面圖片已經詳細闡述了各種方式的效果。但有一點不一樣,那就是“真”!我們不難發現,很多濾鏡雖然可以帶來高清化顯示,但帶來的負面因素就是失真,雖然都存在鋸齒。但最和原始接近的效果還是雙線過濾。關鍵是,過去的遊戲主機,因為硬件規格不同,運行環境不同,它們都是做不到這點的。

哪些模擬器支持這種顯示方式?

在鳥巢常年對模擬器研究下。根據年代不同,很多開發者在當時主流系統上開發的模擬器功能也就有所區別。有些模擬器開發者會將線性過濾功能直接添加進模擬器中,而有些是基於Windows系統的DX來進行外插式開啟。其中,著名的街機模擬器KAWAKS在xp和win7兩個系統中所表現的效果就不一樣(xp系統下模擬器運行在默認顯示時候是自動開啟雙線過濾,而win7就無法開啟)。目前,xp系統已經相對過時,雖然好用,但很多新的運行環境需求則無法和win7相比。鳥巢所使用的就是win7,所以就針這個系統收集了支持這種功能的模擬器。

其中,街機模擬器在win7下只有用mame和FBA,而xp則在winkawaks,nebula,mame這些老版模擬器上兼容性更好。fc模擬器在win7下目前就發現MESS和nestopia可以支持,而xp是幾乎所有fc模擬器都可以開啟,等等等等。太多了,鳥巢就不一一舉例,如果各位需要說明,鳥巢會在回覆中告知。

結尾

當然,這種顯示效果還有單線性和三線性區分。鳥巢就不多加描述。如果各位有什麼問題,也歡迎大家在回覆中積極參與討論。鳥巢會努力打造更能讓廣大玩家補充信息的文章。希望大家多多支持,謝謝。