GPU封装是一个名为Holly的定制芯片,运行频率为100 MHz。 与以前的内部设计不同,世嘉现在与VideoLogic(现称为Imagination Technologies)合作,由他们提供具有竞争力的3D加速器。
在Holly内部,我们可以找到VideoLogic的独家图形电路,称为PowerVR2(也称为"PowerVR Series2"和"CLX2"),它基于他们之前的PowerVR GPU,但是是专为Dreamcast量身定制的。
架构
VideoLogic选择了一种替代方法来构建他们的3D引擎,称为基于图块的延迟渲染(TBDR)。
TBDR不是一次渲染整个帧(如传统的即时模式渲染器或'IMR'做),而是将渲染区域划分为称为"图块"的多个部分。 然后,它对每个图块单独执行渲染过程,并将结果组合起来形成最终帧。
这种创新的设计带来了一些有趣的优势:
- 它可以大大进行并行化,从而显着降低带宽和功耗。
- 它通过自动从前到后对多边形进行排序,然后在管道的第一阶段执行z轴测试,从而实现了对可见性问题的巧妙解决方案。 这些任务的组合不仅解决了原来的问题,而且可以防止多次绘制(隐藏多边形的光栅化),毕竟重绘将会浪费资源并降低性能。
毫不奇怪,Imagination将这项高效技术向前推进,构建了4系列的PowerVR内核,为数量惊人的设备提供动力,包括第一代iPhone、iPhone3G、诺基亚N95和戴尔的Axim x51。
构建
让我们来看看Dreamcast的GPU的两个主要组件:
图块加速器
在渲染过程开始之前,称为图块加速器的组件执行预处理。 它首先分配了几个32x32的图块容器,几何图形将会被渲染到这些容器中。
然后,图块加速器将:
- 获取CPU发出的几何数据和绘图命令(使用DMA或传统传输)。
- 将此数据转换为内部格式。
- 根据其坐标将几何分布到每个容器。 被裁剪的几何图形也会被丢弃。
- 生成生成的显示列表。
然后由3D引擎解释这些显示列表:PowerVR2。
PowerVR2 核心
在这里图形被赋予了生命,从TA(译注:纹理地址单元/Texture Address Unit)接收到的显示列表告诉核心使用内部帧缓冲区 来渲染单个图块的几何图形。 过程如下:
- 图像合成处理器或"ISP"获取基元(三角形或四边形)并执行隐藏表面去除以去除看不见的多边形。 然后,在计算其Z轴缓冲区和模板缓冲区后,数据通过深度测试以避免渲染会出现在其他多边形后面的多边形,如果它们位于2D多边形后面则不可见的几何图形(也称为遮罩),就会通过模板测试以剔除。
- 请注意这些测试是如何在管道开始时有效执行的。 与之相对的,以前的主机 使用懒加载z轴缓冲在管道末端丢弃几何形状。 ISP可以防止处理最终将被丢弃的几何图形,从而节省资源。
- 纹理和阴影处理器或"TSP"在图块区域上应用着色、阴影和多种效果。
- 在导出图块之前不会应用纹理,这意味着出现的重绘(如果有)不会降低填充率。
这些操作完成后,渲染好的图块被写入VRAM中的主帧缓冲区。 这一过程将一直重复直到所有图块都得到处理为止。 一旦完成,生成的帧缓冲区由视频编码器拾取并通过视频信号发送。
全景
除了明显的架构差异之外,纹理和着色处理器还具有许多功能,可以让人们了解这台游戏机与旧的土星差距多大。 以下是一些值得注意的例子:
- Alpha混合:组合重叠图层的颜色以实现透明效果。
- 在这个系统中所使用的实现透明度的方法被称为顺序无关透明度 该算法在混合颜色之前自动对图元进行排序,虽然这减慢了渲染过程,但避免了依赖游戏本身手动进行的所有排序。 也因为如此,Dreamcast游戏擅长显示透明对象。
- 结合基于图块的系统,顺序独立透明度完全解决了以前的显示灾难。
- Mip-Map:根据所需的详细级别自动选择纹理的缩小版本。 这样做是为了防止处理远离相机的大纹理(这将浪费处理能力并产生锯齿现象)。
- 环境映射:对纹理应用反射。
- 双线性、三线性和各向异性过滤:这些是用于平滑纹理和防止像素化的不同算法。 它们按"最差"到"最佳"排序,其中每一个的结果质量与所需的计算量成正比。
- 这是从土星以来一个巨大的进步,因为前者没有提供任何纹理过滤器!
- 凹凸映射:在不额外消耗多边形的情况下模拟表面缺陷。
获取细节
Holly现在可以绘制比其前代多10倍的多边形,这里有一个之前和之后示例,展示了模型设计如何不再受限制。 试着调整他们!

"现代版本"中可用的互动模型
土星的索尼克竞速(1997)。
286个三角形(或185个四边形)。

"现代版本"中可用的互动模型
Dreamcast的索尼克大冒险(1999)。
1001个三角形。
视频模式
视频系统被设计为支持多种类型的屏幕和格式,因此视频编码器输出到一个统一形状的插口,该插口支持以下类型的信号:
- 复合视频接口(译注:就是AV线):将显示视频所需的三个信号(色度、亮度和同步)组合成一个信号,只需要一根单针电缆。
- 这是用于旧的PAL和NTSC电视与RCA连接。
- S-Video:结合亮度和同步,同时保持色度分离(总共两条视频线)。
- RGB:发送单独的红-绿-蓝信号并提供不同的同步类型可供选择(复合同步或从视频合成或S-Video中提取)。
- SCART电缆将使用这种类型。
- VGA:将RGB与两个同步信号(水平和垂直)相结合,总共徐亚五条视频线。 这使得能够在逐行模式下显示尽可能高的分辨率(720x480),因此这种模式通常被称为'480p'。 VGA在当时实际上已经成为计算机显示器使用的标准格式/介质一段时间了。
- 为了使用这种类型,世嘉提供了一个VGA适配器作为额外的配件。
Dreamcast 无法同时对所有这些信号进行编码,因此 GPU 和音频处理器包含了一个名为 图像模式 的寄存器,用于协调哪些视频/音频总线会被激活以生成所需的信号。 CPU检测插入的电缆类型(通过检查视频连接器的哪些"选择位"处于活动状态)并将所需值写入GPU。 最后,这些值被转发到音频处理器。
由于VGA严格来说是一种逐行信号(与传统的隔行扫描相反),因此仅为隔行扫描视频设计的游戏会出现一些兼容性问题。 这些游戏会在其代码中明确声明不会在VGA上显示,这将让CPU阻止游戏执行,直到用户将VGA电缆换成另一种类型。



