普通液晶电视能看3D电影吗?
3D芯片的处理对象是用多边形表示的对象。用多边形表示物体有两个好处:一是直接(虽然繁琐),多边形表示的物体表面的分段线性特征,除了轮廓之外,都可以用明暗处理技术消除;其次,只存储多边形顶点的几何信息,从这些顶点信息中插值出计算多边形中每个像素的明暗颜色所需的信息,这是一种易于图形硬件支持的快速着色技术。支持多边形绘制的图形硬件也可以绘制由双三次面片表示的对象。这可以通过三角测量这种物体的表面并用近似的三角形网格代替原始物体的表面表示来实现。当然,用多边形来表示物体也有它的缺点,比如增加了纹理贴图和阴影生成的难度,细节上表示复杂物体所需的三角形数量会变得非常大。
目录
3D芯片图形处理过程
3D对象的表示
3D芯片图形处理像素处理
3D图形应用
3D芯片图形处理过程
在计算机屏幕上显示由多边形表示的对象涉及到对象在计算机中的表示,即对象的数据结构,由对象组成的场景的组织结构,对象从场景到屏幕空间必须经历的一系列变换,以及产生最终屏幕图像必须执行的一系列光栅化过程。这些方面都涉及到具体的处理算法,对应的算法有很多不同的变体。以下是对3D芯片所涉及的图形处理过程和相关算法的简要分析和介绍,是理解3D图形处理和图形硬件的基础。
3D对象的表示
复杂形状物体的表面可以近似用多边形面片来表示。以图1的圆柱体为例,它的圆柱体可以用2N个三角形来近似,它的两端可以用两个n多边形来近似。多边形模型在其轮廓上的分段线性特征是这种表示法的主要视觉缺陷,唯一的改进方法是提高多边形的分辨率。对于一个复杂的形状,为了充分表现它的细节,常常要用到10万个以上的多边形。这将消耗大量的数据库访问时间和绘图时间。多边形模型放大后,会出现连接问题。这就是所谓的“几何走样”。物体的多边形表示可以通过交互设计手动提取,也可以通过激光扫描设备获得。总之,用多边形表示的物体并不是特别适合交互操作或者自由变形。当改变对象的形状时,很难确保保持多边形表示的完整性。
着色多边形所需的信息存储在分层数据结构中。每个对象表面由一个指向多边形表的指针定义,该表包含一组近似该表面的多边形。每个多边形由指向顶点表的指针定义,该表包含每个多边形的所有顶点。
3D芯片图形处理像素处理
在上述一系列变换之后,多边形已经被变换到屏幕坐标系中。在屏幕上画一个屏幕多边形就是多边形的像素处理过程,包括栅格化、消隐和明暗处理。光栅化、隐藏表面消除和着色是整个3D图形生成过程中最里面的过程。它们是三个二维插值过程。光栅化就是在屏幕空间内插值一个三角形的顶点坐标,得到三角形的边截取的三角形内扫描线段的端点坐标,然后得到截取的扫描线段上的像素坐标。隐面消除是在屏幕空间内插值三角形顶点的深度值(z坐标),从而得到三角形内扫描线段上每个像素的深度值。明暗处理是用同样的方法从顶点的光强得到三角形扫描截面上每个像素的光强。这三种处理算法的数学表达式是一样的,把坐标、深度或光强代入方程就可以得到相应的结果。总之,场景绘制的过程可以概括为:
对场景中每个物体的每个多边形进行几何变换,并将其变换到屏幕空间;
对于多边形中的每个扫描线段,获得其端点和其上每个像素的坐标;
对于扫描段上的每个像素,消除隐藏表面并处理阴影。
3D图形应用
三维图形应用对计算和存储资源的巨大需求以及三维图形生成算法与传统计算机体系结构的不兼容导致了三维图形硬件的出现。3D图形硬件在PC上的出现是近几年才出现的,这是技术进步和市场推动的结果。目前3D图形硬件既有高端专用显卡,也有入门级图形加速卡,任何更好更快的图形效果都需要付出巨大的硬件代价。