« PlayStation 2硬件架构 (index)

PlayStation 2硬件架构

Chapter 5: 图形


目录

  1. 架构设计
    1. 预处理
    2. 光栅化
    3. 形成纹理
    4. 测试
    5. 后处理
  2. 后后处理
  3. 更好的模型
  4. 视频输出

考虑到EE所做的一切工作,是否还有什么遗漏? 其实就是最后一步: 显示!

Image
最终幻想10(Final Fantasy X)(2001)

这有个简单而快速的专用芯片: 图形合成器(Graphics Synthesizer,"GS"),运行频率约为147.46 MHz。 它内置4 MB DRAM,可在内部进行所有处理。 因此,无需访问主内存。 嵌入式RAM(eDRAM)根据所需的数据类型使用不同的总线连接。

与本网站之前评测过的其他图形系统相比,GS的功能较少。 不过,它的运行速度非常快。

架构设计

GPU只进行光栅化处理,即...... 生成像素、贴图、应用光照和其他一些效果。 这意味着没有顶点变换(这些由VPU完成)。 此外,这是一条固定功能流水线,因此也没有花哨的调整着色器,只能使用固定的着色模型(如高洛德(Gouraud)着色)。

Image
GS的流水线设计

看起来很简单吧? 那么,让我们深入了解一下每个阶段会发生什么。

预处理

Image
预处理阶段

EE通过向嵌入式DRAM中填充所需素材(纹理位图颜色查找表,后者也称为"CLUT")来启动图形合成器,为GS的寄存器赋值以对其进行配置,最后发出绘图命令(显示列表),指示GS在屏幕的特定位置绘制基元(点、线、三角形、精灵等)。

此外,GS还会预处理一些后续计算所需的数值。 最值得注意的是数字微分算法值,它将在绘制过程中用于插值。

光栅化

Image
光栅化阶段

着色器利用之前计算出的值,从基元生成像素。 该单元可同时生成8个像素(带纹理)或16个像素(不带纹理),每个像素条目都包含计算出的以下属性:

它还会执行剪切测试(Scissoring Tests),根据X/Y值剔除框架区域外的多边形,某些像素属性会转到"像素测试"阶段进行进一步检查。 此外,还可从GouraudFlat两种选项中选择一种进行照明

然后,数据包被传送到"纹理贴图"引擎,但每个属性都由一个专门的"子引擎"来操作,这样就可以并行处理不同的属性。

形成纹理

Image
纹理映射阶段

该阶段由一个大型像素单元驱动,一次最多可计算16个像素,在这里纹理将被映射到多边形(即现在的像素)上。 此外,这里还应用了雾和抗锯齿效果。

纹理映射是从DRAM中定义为纹理缓冲区的区域获取的,不过该区域与一个名为纹理页缓冲区(Texture Page Buffer)的独立区域相互连接,后者似乎是一种纹理缓存机制。 CLUT也使用该页面系统进行映射。 这两个元素都使用512位总线进行检索。

像素单元执行透视校正,将纹理映射到基元上(与之前的仿射映射方法相比,这是一项重大改进)。 此外,它还提供双线性和三线性过滤功能,后者与混合映射纹理一起使用。

测试

Image
像素测试阶段

在这里,如果某些像素不符合某些要求,就会被舍弃。 因此,将进行以下测试:

后处理

Image
后处理阶段

最后一个阶段可以使用本地DRAM中的上一帧缓冲区,在新像素上应用一些特效:

最后,新的帧缓冲区和更新的Z缓冲区将通过1024位总线写入内存。

后后处理

GS内部有一个名为可编程CRT控制器(Programmable CRT Controller,"PCRTC")的专用组件,可将内存中的帧缓冲区发送到视频输出端,这样就能在电视上看到帧。 但这还不是全部:它还包含一个名为合并电路(Merge Circuit)的特殊块,可以将两个独立的帧缓冲区进行Alpha混合(如果游戏想重复使用上一帧来形成新的帧,它就很有用)。 生成的帧可以通过视频信号输出和/或写回内存。

更好的模型

尽管如此,这肯定会给已经闻名遐迩的角色带来更好的设计。 来看看这个"前后对比"吧:

3D model 3D model 3D model
"现代版本"中可用的互动模型
PS1的古惑狼(Crash Bandicoot)(1996)
732个三角形

3D model 3D model 3D model
"现代版本"中可用的互动模型
古惑狼2(2001)
2226个三角形

以下是新游戏系列中的角色,这些角色的建模从头到尾都非常精细:

3D model 3D model 3D model
"现代版本"中可用的互动模型
王国之心(Kingdom Hearts)(2002)
2744个三角形

3D model 3D model 3D model
"现代版本"中可用的互动模型
勇者斗恶龙8(Dragon Quest VIII)(2004)
2700个三角形

值得一提的是,勇者斗恶龙等游戏采用了一种名为卡通着色/三渲二(Cel Shading)的自定义光照模型(我之前提到过这个术语),不过我在之前的文章中解释过,这主要是由GPU负责的。 在PS2中,所需的色彩计算大概是由Emotion Engine完成的,因为GS不像其他GPU那样灵活。

视频输出

如前所述,PCRTC通过视频信号发送帧缓冲。 该接口可使用多种格式播放视频(可与任何地理区域的电视机配合使用):

Image
从背面看游戏机右侧。 显示交流电源接口、数字音频接口和AV多路输出。

可供选择的模式很多,但归根结底都是2000年代初采用的格式,这就把范围缩小到了PAL和NTSC。 此外,尽管PAL提供了比NTSC更高的分辨率,但一些NTSC游戏的欧洲版本还是采用了遮幅(letterboxing)方法来掩盖未使用的水平线,并降低刷新率以适应50Hz的限制(我称这些为"差劲的移植"!)。

视频输出端口(多路A/V端口)非常方便。 它可以传输RGB、色差、S-Video和复合视频信号。 因此,所有重要的信号都在这里,无需专用适配器或内部修改。


Previous: 4. 协处理器

Next: 6. 音频


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站