• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            nds模擬器怎么放大(nds模擬器如何放大)

            更新時間:2023-03-02 10:04:13 閱讀: 評論:0

            模擬器中的 Filter 或 Shader 基本都是基于圖像本身的。一般來說模擬器不會提供與幾何相關的 shader(32 位機以后會有少量這類 shader)。也就是說,模擬器濾鏡生成的圖像都是在不清楚游戲本身運行邏輯的情況下,單純對最終輸出的圖像進行變換。因此這里用 Filter 遠比用 Shader 來得更為精確。不過因為 RetroArch 的濾鏡系統將其稱為 Shader,因此之后將不分辨該用詞(shader = 濾鏡 = filter)。

            以下將從抗鋸齒濾鏡、放大增強濾鏡、效果濾鏡和硬件仿真濾鏡四個角度對模擬器常用濾鏡進行介紹,并著重對現在應該如何模擬 CRT 進行說明。

            抗鋸齒濾鏡

            對模擬器常見的 2D 游戲,抗鋸齒濾鏡基本沒什么用,所以只是簡單介紹一下。

            首先是為什么要抗鋸齒。大家知道時域采樣往往要用規則采樣。時域采樣在頻域中相當于用狄拉克梳子卷積信號本身,如果被采樣信號的帶寬低于采樣信號的奈奎斯特頻率,就沒問題,不然就會堆疊失真產生 aliasing(一維叫混疊,二維叫鋸齒)。在空間域中采樣幾何本身或者現實世界圖片的時候,規則采樣用得很少,因為很容易對周期性高頻信號出現 aliasing。人們通過局部改進分辨率、隨機采樣等等途徑進行抗鋸齒,就產生了各種 AA 算法。

            我們知道模擬器濾鏡都是作用于屏幕空間(不是模擬器圖形設置中的 AA 選項),和圖形渲染不同:它往往是通過減少圖像中的高頻信號,而非增加采樣頻率或改變采樣策略進行 AA 的。是純粹的初次采樣完畢之后的空間域行為,不需要獲知圖形的幾何信息。

            常用的屏幕空間 AA 就是 FXAA 了,其具體原理太過繁瑣,可參考此貼:

            https://catlikecoding.com/unity/tutorials/advanced-rendering/fxaa/

            一般來說,2D 游戲,尤其 16 位機器以下的游戲不要使用 Anti-aliasing shader。像素圖像本身甚至可以說就是由鋸齒構成的,如果強行進行 AA 會使圖像看起來非常詭異:

            3D 游戲可酌情使用,尤其是模擬器本身 AA 開的不高的情況下。屏幕空間的 AA 效果雖然一般但通常速度較快,如果開 3D 游戲模擬器內 AA 比較吃力的情況下,就湊合用屏幕空間的 AA 吧。

            放大增強濾鏡

            這類濾鏡是平時最常見的,也是人們最為經常使用的濾鏡(雖然 LZ 并不常用這類濾鏡)。它的主要作用是減少像素畫面的顆粒感。像素藝術最大的問題就是經不起放大:一旦放大以后,原本可愛的 Sprite 瞬間變得猙獰了起來:

            為了解決像素圖像放大的問題,人們發明了一系列增強算法。在機器學習介入之前,這類濾鏡還比較簡單,我們也只考慮機器學習之前的常用濾鏡。

            首先是基本的插值:Nearest Neighbor,Bilinear 兩種。

            像素圖片放大這件事上,只要模擬器輸出分辨率跟具體顯示分辨率不匹配,模擬器本身就要選擇一種插值方式。可以進行線性插值(顏色設為鄰居的加權平均)或者最近鄰插值(與最近的鄰居像素顏色相同)。顯示上最近鄰插值能夠還原原本的像素顆粒,而線性插值能進行初步的模糊和潤滑,具體喜歡哪種就看個人喜好了。

            Scale 系列:

            包括 Scale2x、2xSal、EPX、AdvMAME2x 等等。這類濾鏡是使用簡單的 filter 對圖像進行卷積。有時比單純的卷積要復雜一些,等價于使用了多個不同的濾鏡進行卷積以后產生多個圖像,最后對圖像進行條件混合。還有些強調邊緣的濾鏡也會通過圖像的二次差分判斷邊緣從而采取不同的混合策略(權重)。

            考慮最簡單的 Scale2x,將像素 P 放大為 4 個子像素,根據周圍 4 像素設置子像素的顏色采用以下規則:

            1=P; 2=P; 3=P; 4=P;

            IF C==A => 1=A

            IF A==B => 2=B

            IF D==C => 3=C

            IF B==D => 4=D

            IF of A, B, C, D, three or more are identical: 1=2=3=4=P

            則稱之為 Scale2x 算法。其結果其實基本上就是把一個像素分成了四個像素,顆粒感會大大下降。規則簡單,性能也好:

            其它 Scale 系列同理,主要都是在放大之后根據原圖像周圍像素顏色通過一定規則決定子像素顏色。

            Eagel、2xSal 也是同一系列的濾鏡,只不過考慮的周圍像素范圍不同。例如比較復合的 Super2xSal 考慮的像素范圍就要更大一些,涉及周圍 11 個像素的值,并且也設置了相似的判定規則,效果如下:

            Scale 系列濾鏡是我認為 16 位機和 8 位機的底線,下面的就稍微有點越界了。

            HQx 和 xBR 濾鏡系列

            有時候現代人口味刁鉆,希望能消除像素本身的顆粒感。而前面那些簡單的臨像素加權平均或分支的濾鏡會導致邊緣模糊,并且處理像素游戲中的線條非常苦手,因此有人開發了相應更復雜的濾鏡滿足這些人的需求。

            HQx 系列 :(high-quality scale)

            這一系列濾鏡會根據周圍像素顏色與自己的不同關系(周圍 8 個像素根據閾值分為相似或者不相似兩類,因此共 256 種可能),通過查找表的方式確定放大之后的像素顏色如何定義。而這一查找表本身的定義比較復雜。用 C 寫幾千行也很不容易(包含了 HQx-2/3/4 https://github.com/grom358/hqx/blob/master/src/hq2x.c),當然用 GLSL 要簡單不少。其目的主要是為了放大之后的線條能夠更加順滑。

            xBR 濾鏡系列

            xBR 濾鏡系列,包含 xBR , xBRZ, xBR-Hybrid, Super xBR, xBR+3D 和 Super xBR+3D.

            同樣的,這些濾鏡也主要是用來游玩像素游戲時消除像素顆粒感使用。總有人認為這種圓滑感看起來比顆粒感的像素更舒服一些。

            這類濾鏡比 HQx 更強大的地方在于通過多個 pass 解決了許多 HQx 的單次查找表索無法解決的問題,讓還原的線條更加銳利。

            具體原理參考:( https://forums.libretro.com/t/xbr-algorithm-tutorial/123)( https://pastebin.com/cbH8ZQQT)

            雖然這里可憐的馬里奧看起來有點不堪,但一般情況下這個濾鏡沒有那么慘。xBR 濾鏡對邊緣的處理遠比 HQx 更加強大,非常善于消除像素的顆粒感并且保留色塊和邊緣的銳利。NGA 有人專門寫過一篇文章吹這個濾鏡,并且認為 xBRZ 是最好的 2D 放大濾鏡(單純從放大角度,不考慮深度學習類的方法,應該算是沒錯的)。有需求的可以參考一下:

            https://bbs.nga.cn/read.php?tid=9171524

            (然而說實話我是 xBR PTSD,看著就難受)

            其他大多數像素增強也都是采用了各種不同的自定規則對子像素進行插值。效果有好有壞。游戲之間的圖像特征也有很大的區別,適用不同濾鏡,大家使用時可以根據自己的視覺體驗進行選擇。

            比如 NEDI(New Edge-Directed Interpolation), 論文: http://web.archive.org/web/20101126091759/http://neuron2.net/library/nedi.pdf

            比如專門為 GB/GBA 設計的 OmniScale: https://sameboy.github.io/scaling/

            深度學習方面尤其跟 GAN 有關的方法則包含一些 AI 將圖片庫中特征結合進行的創作,不符合高還原度 retro gaming 的主題,一般也不推薦使用。

            效果型濾鏡

            以下濾鏡會生成一些有趣的效果,一般用不著,想體驗一下也行。

            Dithering:dithering 是早期 PC、針式打印機等等用點陣表示密度來展現色彩的。最近很火的獨立游戲《obra dinn》也是這種風格。但單純基于圖像的 dithering 其實很消耗時間,采用一些近似的化效果也不好。用在 16 位機的游戲上也并不合適,湊合看看吧:

            bayer-matrix-dithering:

            Cel-shading:卡通渲染用在 16 位機上當然是個災難,但 3D 游戲有時候也有點意思。同樣的,不要指望單純的屏幕空間的濾鏡能搞出什么花來:

            老電影:

            technicolor 濾鏡是一個不錯的老電影效果濾鏡,還能模擬膠卷上的點和劃痕:

            效果型濾鏡隨喜好添加即可。

            硬件仿真型濾鏡

            這是我認為模擬器屏幕空間濾鏡真正有用的地方,也是本帖的重頭戲。這類濾鏡的目標是盡量模擬真實硬件的顯示設備,在現代 LED 顯示器上對古舊顯示設備(掌機屏幕、電視、街機 CRT 等)進行仿真,從而帶來更多模擬游戲和懷舊樂趣的一類濾鏡。

            注意,這里介紹的大部分濾鏡的最佳使用場景都是 4K 顯示器全屏游玩。各種掌機屏幕幾乎都沒有能力模擬這些效果,而手機屏幕太小,效果是看不清的。

            首先來說說比較簡單的掌上設備。使用顯示器屏幕模擬掌機設備的一大問題是無法準確模擬掌機屏幕的表現。而屏幕空間的濾鏡通過色彩、像素顆粒感這兩方面嘗試逼近掌機屏幕的表現。

            例如 GB(帶光)式的色彩和像素映射(gameboy-light):仔細觀看會發現馬里奧采用了方形像素,并且使用了橫向和縱向的像素分割線對老式 LCD 進行了風格化。色彩映射也是 GB 的綠屏。

            可見像素并非簡單近鄰插值,而是同時模擬了像素本身的熒光擴散效果。使用了大量的像素模擬了單個 GBA 像素的熒光擴散灰度顯示不同亮度時的不同梯度。因此才能將像素顯示的陰影感準確模擬出來。而這一效果也是在 4K 顯示器下才能體現得最為明顯。因為 4K 顯示器有足夠的像素去表現這些效果。(你要問我為什么用 4K 顯示器全屏玩 GB 游戲?可能是吃得太飽了……)

            對比一下就知道加濾鏡和不加濾鏡的天壤之別。很可愛吧,是不是想起了另一個古舊 LCD 設備(文曲星):

            這里這個 GB 的濾鏡是 LCD 系列濾鏡的一種。這一系列濾鏡就是為了創造相應掌機設備 LCD 屏幕效果而出現的。它的原理大框架就是增加像素之間的間隔形成 LCD 顆粒感,通過隔離的熒光過渡形成像素本身的陰影感,從而復原當年的古舊 LCD 屏幕的樣子。

            比如 GBA 樣式(包括了 GBA 屏幕的顏色映射,GBA 反射顏色并不鮮艷,用現代的屏幕去顯示需要通過一定的映射)。一定程度上還原了像素排列方式,甚至還原了 GBA 屏幕本身的動態模糊:

            舉個 GBA 游戲的例子:用 GBA 的朋友對這種色彩和像素風格的畫面應該有印象

            對比不加濾鏡的鮮艷色彩和線性插值的圖像 (用模擬器玩曉月的朋友記憶中應該是這個畫面):

            如果你覺得 9102 年了還要還原 GBA 的色彩簡直開歷史倒車(雖然這正是這篇文要干的事情……),那么也可以只進行 LCD 像素映射。只使用 LCD3X 系列濾鏡而不映射色彩即可:

            同樣的,NDS 也可以采用類似濾鏡。

            由于 PSP 的屏幕相對來說要好不少,類似現代顯示器屏幕,一般沒有針對 PSP 屏幕的模擬需求。如果想模擬 PSP 的屏幕可以使用 RetroArch 自帶的 PSP-color 進行色彩映射。

            下面說說另一個(真正的)重頭戲:

            CRT 濾鏡

            首先請把所有其它 CRT 濾鏡扔掉,只留下一個:CRT-Royale(除非硬件跑不了,再考慮其他)。

            濾鏡使用了大量 pass 進行了 CRT 的模擬。如果 PC 性能夠強的話,延時方面的影響也很小。CRT-Royale 十分復雜和強大, 對 GPU 有一定的要求。如果用 intel 的 GPU 的話(集顯)需要進行修改,改版也在 RetroArch 里提供了。

            用來顯示 CRT-royale 濾鏡的屏幕至少需要 2K 以上的分辨率,4K 甚至 8K 屏幕的模擬效果更加真實。是的你沒看錯,要模擬 CRT,最低要求是 2K 分辨率,4K 更佳。

            我們知道 CRT 中的磷光體(或熒光體)是產生冷發光現象的物質,受到陰極射線(電子束)激活發光。它發出的光線具有一定的特征,與現代 LED 的像素光線有較大的區別。CRT 濾鏡的關鍵就是通過大量現代 LED 像素去模擬磷光體的發光特征,從而模擬 CRT 的顯示效果。而在這方面做得最好的就是此濾鏡了。(CRT 雖然沒有直接的像素的概念,只有熒光粉或者熒光條。不過電子束的信息改變是離散的,因此我們可以將離散電子束信息改變周期內掃過的空間等價為像素的概念)。

            在 RetroArch 的桌面 UI 里打開 CRT-royale 的設置界面,我們可以看到很多相關設置,涉及到一些重要的調整項。如果你對 Shader 語言略有了解,也可以直接打開 Shader 文件進行調整,只是沒有界面中方便。根據每個人接觸到的不同型號和不同廠家生產的 CRT,你所喜愛的 CRT 參數必然有所不同,玩家可以自行調整到喜歡的設置選項。

            首先看看效果(網絡圖片有壓縮,要觀看大體效果還是自己 4K 全屏運行模擬器比較靠譜。看圖片也要看大圖,小圖自帶 AA,把所有特征都抹掉了):

            對比沒開濾鏡的游戲:

            影響最終效果的選項很多。下面我們來解釋一些影響較大的參數:

            Halation and Diffusion

            Halation 是被熒光體直接反射的光線,而 Diffusion 是光線穿過 CRT 玻璃時產生的散射熒光。這兩項參數的權重可以進行調整。

            Bloom

            如果點亮的熒光體發光過強影響到了電視上的其他面積,使整個畫面變得過亮,就是一種 bloom 的效果。特別好的 CRT 會控制 bloom,但由于這是大量中低端電視可能產生的效果,因此也需要忠實模擬。

            Beam

            這項參數控制了實際進行掃描的電子束的各項維度。不知為何一直有人認為 scanline 是黑線:scanline 是掃描到的線,而沒掃描到的地方才是黑線。除了可以調整 Beam 本身的大小以外,這里也可以調整高斯模糊函數的各個參數。根據不同的參數選擇可能產生不同型號電視或街機的效果:

            Convergence

            彩色電視電子槍發射的三束射線對熒光粉的轟擊是否足夠整齊:好的 CRT 比如彩監是非常整齊的,但許多消費者級別的 CRT 這方面的表現就很一般了,根據每個人童年不同質量的 CRT 可以仔細微調。

            MASK

            這項控制的是熒光體的排列方式。濾鏡提供了三種排列:0.0 (Aperture Grille), 1.0 (Slot Mask), 和 2.0 (Dot Mask)。這三種排列如下:

            每一種排列都對應不同廠家的電視效果,可以分別予以調整。同時,MASK 也有大量參數可以進行調整。比如使用的熒光體個數可以調整 CRT 顯示的粒度。

            和其它濾鏡相比也是高下立判。如果你覺得沒有高下立判,就調整參數讓它高下立判!

            不同的制式和不同的輸入會有一定程度的圖像失真,沒關系,這些失真可以用額外的 pass 來模擬。比如電視機的 composite 輸入導致的色彩失真效果,加 NTSC 的色彩映射的效果如下:

            再傳兩個其他游戲的圖,還是那句話,要在自己的屏幕上運行模擬器動態才能比較明顯看到效果。

            以上基本介紹了常見的幾種 Filter 和它們的大體效果。那么如何使用這些 filter?哪些模擬器支持 shader 語言寫的 filter 呢?

            這里:http://emulation.gametechwiki.com/index.php/Shaders_and_Filters 介紹了一些常見模擬器支持的 filter 文件類型。一般來說,采用通用前端 RetroArch 可以使用大部分的 shader,而使用模擬器自帶前端則有很多限制。所以最簡單的方案就是直接使用 RetroArch,然后從其 shader 文件夾中選擇所需 shader,并通過菜單調整相應參數即可。

            總結:模擬器濾鏡是個挺大的話題,這里只是簡單介紹一些類型和它們的效果。一般來說,對 32 位及以下機型模擬時才推薦使用屏幕空間的濾鏡,抗鋸齒濾鏡一般不推薦像素游戲使用。像素放大增強濾鏡根據個人口味使用,一般來說進行簡單的 2xSal 等即可,特別討厭像素的顆粒感的話,可以考慮 HQx 或 xBR 系列濾鏡。如果追求一些特殊效果,可以使用效果型濾鏡。而為了模擬古舊硬件(主要是顯示設備),則可以分別使用該種硬件的濾鏡。CRT 濾鏡主要就是 CRT-Royale,按照自己口味調整之后,配合高亮度 4K 顯示器,基本可以滿足一般 CRT 模擬需求。如果有特殊需要當然實機 + 彩監更好,沒有這個條件的話模擬器效果也不賴,而且彩監只能體驗一種或少數型號的顯示效果,而濾鏡可以自行配制體驗多種電視和信號的不同感覺,因此也并不沖突。此外,部分 Filter 會降低游戲性能,或者因為需要幀信息從而略微增加游戲延時,有性能需求時應當關閉所有濾鏡。

            不摸魚了。

            參考:

            http://emulation.gametechwiki.com/index.php/CRT-Royale

            https://en.wikipedia.org/wiki/Pixel-art_scaling_algorithms

            https://www.retroarch.com/index.php?page=shaders

            http://emulation.gametechwiki.com/index.php/Shaders_and_Filters

            作者:Lunamos@tgfc

            原文鏈接:https://bbs.tgfcer.com/thread-7657428-1-1.html

            本文發布于:2023-02-28 21:04:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/167772265398386.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:nds模擬器怎么放大(nds模擬器如何放大).doc

            本文 PDF 下載地址:nds模擬器怎么放大(nds模擬器如何放大).pdf

            標簽:模擬器   nds
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 精品国产一区二区三区蜜臀| 浮妇高潮喷白浆视频| 亚洲精品成人片在线观看精品字幕 | 芒果乱码一线二线三线新区| 国产成人综合95精品视频| 亚洲最大福利视频网| 色综合热无码热国产| 色吊a中文字幕一二三区| 国厂精品114福利电影免费| 99久久久国产精品消防器材| 亚州AV无码乱码精品国产| 国产一区二区日韩在线| 色一情一乱一伦视频| 久久久喷潮一区二区三区| 无遮高潮国产免费观看| 亚洲和欧洲一码二码三码| 看全色黄大黄大色免费久久| 国产精品亚洲中文字幕| 亚洲国产中文字幕精品| 久久伊人精品影院一本到综合| 精品久久久久久中文字幕大豆网| 国产久爱免费精品视频| 高清有码国产一区二区| 国产国产乱老熟女视频网站97| 在线精品一区二区三区视频| 亚洲一区二区三区中文字幕5566| 最近中文字幕在线中文视频| 麻豆国产97在线 | 中国| 国产一级特黄高清大片一| 国产对白老熟女正在播放| 最近2019免费中文字幕8| 国产jlzzjlzz视频免费看| 宝贝腿开大点我添添公视频免| 久久久久久久久久国产精品| 精品无码人妻一区二区三区品| 欧美日韩免费专区在线观看 | 欧美裸体xxxx极品| 亚洲人妻一区二区精品| 韩国无码AV片在线观看网站| 蜜国产精品JK白丝AV网站| 亚洲爆乳WWW无码专区|