作者cash35 (Englishness)
看板Nintendo
标题[情报] N3DS采用PICA200的理由
时间Wed Jun 23 12:47:29 2010
西川善司分析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实装哪些功能未来将慢慢明朗化。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.137.127.15
1F:推 cycle1008:推专业 06/23 12:56
2F:推 PMT99:推 06/23 14:37
3F:→ bibbosb4:PUSH 06/23 15:09
4F:→ chewie:推 06/23 15:12
5F:推 alfread:2001 年 ATI 推出的 R200 系列 GPU 就已支援 Tessellation 06/23 16:06
6F:→ alfread:DX11 的贡献是将 Tessellation 纳入标准支援而非各自为政 06/23 16:08
7F:→ cash35:感谢春日大补充:) 06/23 17:02
8F:→ alfread:我个人是觉得 Tessellation 这种功能对中低阶平台没有太大 06/23 17:16
9F:→ alfread:实质意义,当年 PS2 也宣称支援高等曲面拆解,但根本没用 06/23 17:17
10F:→ cash35:搞不好3DS根本没装tessellation....XD 06/23 18:35
11F:→ cash35:把多边形分割事小 之後够不够力去处理那些分割後的顶点事大 06/23 18:39
12F:推 RealLink:不太了解 是指tessellation这项功能 并不需要太高等级的 06/23 23:18
13F:→ RealLink:硬体就能够执行的意思吗? 06/23 23:18
14F:→ RealLink:我是只晓得tessellation之後得到的点 并不是geometry 06/23 23:20
15F:→ RealLink:需要去处理的 而是vertex shader要去处里的 06/23 23:20
16F:→ RealLink:不过PICA200制订的shader 不知道有没有这一项 06/23 23:21
17F:→ cash35:如果多出来的顶点VS没能力去控制 那其实有没有分割其实没差 06/24 22:51
※ 编辑: cash35 来自: 125.230.113.131 (12/19 01:30)