N3DS採用PICA200的理由 - 任天堂

Table of Contents

西川善司分析N3DS採用PICA200的理由
http://journal.mycom.co.jp/articles/2010/06/22/pica200/

在這邊先說明一下何謂shader,shader中文翻譯為著色器

大家都知道3D圖型是由多邊型組成,而多邊型則是由頂點所構成

比方說一個三角形有三個頂點,每個頂點除了X,Y,Z座標資訊以外

也可以夾帶其他資訊,例如法向量、顏色、材質座標等

之後透過光栅化,將3D物件成像為2D像素(因為顯示器是2D的)

依據功能著色器概分為三種:

頂點著色器(Vertex Shader-VS)可以依據頂點的資訊做各種處理

幾何著色器(Geogory Shader-GS)可以增加或刪減多邊型的頂點

像素著色器(Pixel Shader)則針對光栅化之後的像素做顏色處理


西川提到當代繪圖晶片是往programable shader(可程式化的著色器)的方向邁進

可程式化的好處是開發者可按照自己的需要設計光影特效,使用上相當自由

比方說想製作一片森林,可以設計專門的程式命令VS和GS依照規則產生許多樹木

PS則可以依照光源程式設計讓畫面上的物件顏色產生光影變化

programable shader雖然很有彈性,應用上也非常多元

但自由的代價是所需要的電晶體數量多、增加晶片的耗電量和溫度。


西川善司認為這樣的泛用性架構雖然性能非常強大

但在特定用途上難免殺雞焉用牛刀(over spec)

尤其是行動裝置、嵌入式裝置的應用上,所需求的功能並沒有這麼廣泛

應該針對特定需求打造硬體功能,而PICA200就是因應這種需求所設計。


掌機規格得先考量散熱與電力消耗的限制

因此必須針對遊戲表現必要且固定的性能做硬體最佳化

之前謠傳的NVIDIA Tegra 2這顆GPU核心是屬於programable shader導向

PICA200則是採用固定機能shader(這點跟GC的設計哲學蠻像的)

並可利用硬體(名為MAESTRO的擴充套件/函式庫)來擴充功能

也可以依照任天堂的需求訂製所需的功能。


西川善司提到他在2006年採訪第二代MAESTRO時

上面已經實裝DX11才支援的tessellation特效(可將多邊型分割成更多頂點)

至於3DS實裝哪些功能未來將慢慢明朗化。

--

All Comments

George avatarGeorge2010-06-27
推專業
Skylar Davis avatarSkylar Davis2010-06-30
Daph Bay avatarDaph Bay2010-06-30
PUSH
Annie avatarAnnie2010-06-30
George avatarGeorge2010-07-05
2001 年 ATI 推出的 R200 系列 GPU 就已支援 Tessellation
Necoo avatarNecoo2010-07-09
DX11 的貢獻是將 Tessellation 納入標準支援而非各自為政
Damian avatarDamian2010-07-13
感謝春日大補充:)
Yuri avatarYuri2010-07-14
我個人是覺得 Tessellation 這種功能對中低階平台沒有太大
Delia avatarDelia2010-07-15
實質意義,當年 PS2 也宣稱支援高等曲面拆解,但根本沒用
Candice avatarCandice2010-07-17
搞不好3DS根本沒裝tessellation....XD
Kristin avatarKristin2010-07-20
把多邊形分割事小 之後夠不夠力去處理那些分割後的頂點事大
Harry avatarHarry2010-07-24
不太了解 是指tessellation這項功能 並不需要太高等級的
硬體就能夠執行的意思嗎?
Michael avatarMichael2010-07-28
我是只曉得tessellation之後得到的點 並不是geometry
需要去處理的 而是vertex shader要去處裡的
Jacob avatarJacob2010-07-30
不過PICA200制訂的shader 不知道有沒有這一項
Caitlin avatarCaitlin2010-07-31
如果多出來的頂點VS沒能力去控制 那其實有沒有分割其實沒差