3D游戏的渲染原理以及立体化需求
[泡泡网显卡频道1月12日] 不知道您或您的朋友有没有过这样的经历:在刚开始玩CS类FPS游戏的时候,会不由自主的左右摇晃身体,用以观察躲在屏幕边缘和角落的敌人,经过多次尝试之后才会明白,原来侧着身体并不能看到屏幕外的物体。之所以会产生如此可笑的举动,是因为大家玩游戏太投入了,还真以为3D游戏就是三维立体的。
尽管我们玩的确实是3D游戏,但这个3D是针对电脑内部显卡渲染过程而言,对于玩家来说,我们看到的图像是电脑内部三维物体“投影”到显示器上的一帧帧二维画面,最终我们看到的图像其实是2D的,显示效果与电视/电影没有本质区别。
为了让电脑游戏告别生硬的2D显示效果,NVIDIA于2009年伊始在CES大展上隆重推出了GeForce 3D Vision技术,其组件包括:高科技无线眼镜、高功率红外发射器、120Hz高刷新率显示器、配套驱动、软件、游戏优化等一整套完整的解决方案。为广大游戏玩家献上真正具有立体感、距离感的游戏,给人产生一种跃然纸上、栩栩如生般的立体3D游戏,本文就为大家详细介绍该技术的工作原理和实现方法。
● 世界因双眼而立体,平面图像无法跃然纸上
人类观察到的世界为什么是立体的?答案很简单,因为人长着两只眼睛。人双眼大约相隔6.5厘米,观察物体(如一排重叠的保龄球瓶)时,两只眼睛从不同的位置和角度注视着物体,左眼看到左侧,右眼看到右侧。这排球瓶同时在视网膜上成像,左右两面的印象合起来人就得到对它的立体感觉了。引起这种立体感觉的效应叫做“视觉位移”。用两只眼睛同时观察一个物体时物体上每一点对两只眼睛都有一个张角。物体离双眼越近,其上每一点对双眼的张角越大,视差位移也越大。
正是这种视差位移,使我们能区别物体的远近,并获得有深度的立体感。对于远离我们的物体,两眼的视线几乎是平行的,视差位移接近于零,所以我们很难判断这个物体的距离,更不会对它产生立体感觉了,夜望星空你会感觉到天上所有的星星似乎都在同一球面上,分不清远近,这就是视差位移为零造成的结果。
当然,只有一只眼的话,也就无所谓视差位移了,其结果也是无法产生立体感。例如,闭上一只眼睛去做穿针引线的细活,往往看上去好像线已经穿过针孔了,其实是从边上过去的,并没有穿进去。而现在我们所看到的图片、电影、玩的游戏都是平面景物,虽然图像效果非常逼真,但由于双眼看到的图像完全相同,自然就没有立体感可言。
● 立体电影拍摄并不神秘:模拟双眼
双镜头同步拍摄景物,立体电影并不神秘
既然通过双眼观察世界才能获得立体感,那么想要获得立体的图像也需要两台照相机或摄像机,由此就诞生了“虚拟立体显示”技术,最早引入该技术的是立体电影。立体电影从拍摄开始,就模拟人眼观察景物的方法,用两台并列安置的摄影机,同步拍摄出两条略带水平视差的电影画面,这样影片所包含的信息就与人的双眼亲临拍摄现场所看到的画面毫无二致了。
通过前面的介绍就可以明白,立体电影/视频的拍摄其实很简单,并排放置两个镜头同步拍摄就行了,虽然其中还涉及视频帧合成方面的内容,但理解起来并不困难。不过,想要把立体图像显示给人眼看可不容易,如何才能做到左眼只看左摄像头的图像、右眼只看右摄像头的图像呢?
● 立体电影放映:偏振分光技术
电影院放映采用的是偏振法,通过两个放映机,把两个摄影机拍下的两组胶片同步放映,使这略有差别的两幅图像重叠在银幕上。这时如果用眼睛直接观看,看到的画面是重影模糊不清的,要看到立体电影,就要在每架电影机前装一块偏振片。从两架放映机射出的光,通过偏振片后,就成了偏振光。左右两架放映机前的偏振片的偏振化方向互相垂直,因而产生的两束偏振光的偏振方向也互相垂直。
偏振镜分光原理示意图
这两束偏振光投射到银幕上再反射到观众处,偏振光方向不改变。当观众带上偏振眼镜后,左右两片偏振镜的偏振轴互相垂直并与放映镜头前的偏振轴一致,所以每只眼睛只看到相应的偏振光图象,即左眼只能看到左机映出的画面,右眼只能看到右机映出的画面,这样就会像直接观看那样产生立体感觉。
● 偏振光技术简介:
为什么带上偏振眼睛后能使左右眼看到完全不同的图像?确实不太容易理解,关于偏振光和偏振眼镜的原理,由于涉及内容比较多,这里仅作简要介绍。
光就是由互相垂直的电场和磁场形成的一种电磁波,自然光是很多电磁波的混合物,它在各个方向的振动是均匀的。当它以特定的角度(布儒斯特角)经过非金属表面后反射形成的眩光是偏振光。偏离了这个角度,就会有部分非偏振光混杂在偏振光里。部分偏振光是有程度的,偏离的角度越大,偏振光的成分越少,最终成为非偏振光。有了偏振光,有时会给我们照相带来不利。玻璃表面的反射光,使我们拍摄不到玻璃橱窗里面的东西,水面的反射光使我们拍摄不到水中的鱼……
但利用偏振光的这种特性正好满足立体电影的需求——让左右眼看到完全不同的画面。通过给两个投影机加装偏振片,让投影机投射出互相垂直的完全偏振光波,然后观众通过特定的偏振眼镜,就能让左右眼看到各自不同的画面而互不干涉。
当然,实际放映立体电影是用一个镜头,两套图象交替地印在同一电影胶片上,还需要一套复杂的装置,这里就不做深究了。
利用偏振原理实现立体电影的效果是最好的,但要在家庭影院或者个人电脑上实现的难度很大,除非你使用2台加装了偏振光镜头的投影仪和2张不同角度拍摄的DVD和专业的播放设备和同步器,这样复杂的装备还有高昂的成本是大众无法接收的。因此就诞生了比较廉价的实现方案——光谱分光技术,俗称为红绿滤光或红蓝滤光。
● 红蓝/红绿滤光技术介绍:
使用滤光技术制作的立体电影,在拍摄时给左右摄影机镜头前分别加装蓝/红滤光镜,只允许蓝/红光通过,阻止大部分红/蓝光。当然现在的影片拍摄并不一定要用滤光镜,事实上通过后期处理也能剔除一些色彩(如Photoshop的滤镜)。
当观众看电影时需要带一个红蓝滤光眼镜,此时左放映机的画面通过红色镜片(左眼),拍摄时剔除掉的红色像素自动还原,从而产生真实色彩的画面,当它通过蓝色镜片(右眼)时大部分被过滤掉,只留下非常昏暗的画面,这就很容易被人脑忽略掉;反之亦然,右放映机拍摄到的画面通过蓝色镜片(右眼),拍摄时剔除掉的蓝色像素自动还原,产生另一角度的真实色彩画面,当它通过红色镜片(左眼)时大部分被过滤掉,只留下昏暗画面,人眼传递给大脑后被自动过滤。
然后,左右眼把看到的图像传递给大脑后,大脑会自动接收比较真实的画面,而放弃昏暗模糊不清的画面,从而根据色差位移产生立体感和距离感。
《地心历险记》3D版:直接看的效果是重影、偏色
使用滤光原理制作的电影完全可以兼容所有的显示设备,我们只需要一副成本几元钱的红绿眼镜就够了。事实上早期的或者低端的立体电影院就使用了这种方案,虽然效果比较差,但也算是聊胜于无吧。
现在已经有很多大片提供了红绿或者红蓝滤光的3D版下载,很多朋友看了之后觉得头晕目眩、眼睛疲劳、边缘色彩不正常、重影等诸多问题,最大的原因就是滤光眼镜和影片不配套所致,另外距离屏幕太近也不容易产生立体感,这个就需要大家自行研究调整了。
偏振分光技术效果最好、但实现难度太大,红蓝滤光技术成本最低、但效果不如人意,难道就没有更好的立体显示技术吗?现在就给大家介绍一种历史悠久、但却没能得到普及的技术——时分法遮光技术,又称液晶分时技术。
● 液晶分时技术
这项技术根据字面意思就很容易理解其工作原理,它的主要技术在眼镜上。它的眼镜片是可以分别控制开闭的两扇小窗户,在同一台放映机上交替播放左右眼画面时,通过液晶眼镜的同步开闭功能,在放映左画面时,左眼镜打开右眼镜关闭,观众左眼看到左画面,右眼什么都看不到。同样翻转过来时,右眼看右画面,左眼看不到画面,就这样让左右眼分别看到左右各自的画面,从而产生立体效果。
虽然眼镜镜片的切换很关键,但实际上原始显示设备更关键,假如显示器的刷新率是60Hz,那么通过遮光眼镜后左右眼看到的画面实际刷新率只有30Hz,这样的刷新率下长时间很容易产生视觉疲劳,所以“时分法遮光技术”要求显示器刷新率至少为100Hz,最佳值是120Hz。
CRT时代,高端显示器很容易达到120Hz,因此10年前就出现过一些3D眼镜,游戏玩家得以率先体验立体显示效果。但相信很多人都有切身感受,85Hz以下的刷新率对于CRT显示器来说都是非常闪的,60Hz完全不够看。CRT显象管时时刻刻都处在闪烁状态,因此CRT与遮光眼镜的时钟同步要求非常精确,否则就会产生视觉混乱。
120Hz显示器成为新的时尚话题
到了LCD时代,由于刷新率很难突破60Hz,因此“时分法遮光技术”毫无用武之地,也渐渐的被大家所遗忘。随着技术的不断发展,如今120Hz液晶甚至等离子面板都不再是梦,尘封已久的“液晶分时技术”也得以重现天日,为大家呈现出最逼真的立体显示画面!
NVIDIA发布GeForce 3D Vision,游戏立体化
近日,NVIDIA在CES 2009上正式宣布推出业界第一套高清3D立体视觉方案,专为GeForce显卡打造的“GeForce 3D Vision”。其核心配件就是一副采用液晶分时技术的3D眼镜,附带大功率USB红外接收器,用来和3D眼镜同步遮光频率,当然还需要一台刷新率达120Hz显示器的支持,可以是液晶显示器、等离子电视或者投影仪。
其中无线3D眼镜的视距最大约6米,内置电池供电,可以连续工作40小时以上,眼镜空闲十分钟后会自动关闭以节约电池电力,电池可通过mini USB口充电,使用非常简单方便。红外发射器通过USB接口与电脑链接,红外接收半径大约6米。
除了硬件部分之外,真正核心部分在于驱动支持和游戏优化方面,据NVIDIA称,GeForce 3D Vision无需修改游戏设置,只要搭配GeForce 8/9/200系列显卡和最新版Forceware显卡驱动及立体驱动程序,可以自动给350多款PC游戏带来立体效果,诸如《Crysis》、《英雄连》、《虚幻竞技场3》、《失落星球》、《鬼泣4》等等大作可立竿见影带来立体效果。
GeForce 3D Vision已经在美国地区上市,建议零售价199美元(合1360元人民币),本季度内推向全球市场。在国内,3D Stereo眼镜由索泰独家代理发售,目前价格未定。此外,120Hz显示器也开始大量上市,三星/优派22寸显示器的价格大概是399美元(合2727元人名币),想要第一时间体验最新、最酷的显示效果,自然需要付出一定的代价。
前文中已经对液晶分时技术做了详细的介绍,原理其实很简单,但实现起来就需要眼镜、红外接收器、显示器、驱动程序、显卡和游戏的全方位配合,任何一个环节出问题,都会导致立体成像系统紊乱。
下面我们先来看看NVIDIA GeForce 3D Vision套装实物:
红外接收器背面:Mini USB与电脑相连
旋钮用来调节景深(奇偶帧视差位移)
GeForce 3D Vision自然只能用于NVIDIA自家的GeForce显卡,还需要一台刷新率达到120Hz显示器的支持,除此之外就没有别的需求了。对于显卡的要求也不是很高,9800GT以上级别就能在22寸显示器上展示出惊人的效果了,当然玩Crysis这种BT游戏还是需要更强显卡的支持。
不管什么类型的立体显示技术,归根到底都要给人的双眼输出完全不同的两帧图像(具有一定视差),立体照片需要两部相机拍摄,立体电影需要两部摄影机,立体视频需要双摄像头,立体游戏也需要双倍刷新率(120Hz)显示器的支持,那么除此之外是否需要双显卡或双倍性能显卡的支持呢?相信这是很多玩家最关注的内容。
答案是肯定的,不需要!因为3D游戏在电脑内部是完全按照真实的三维模型建立并渲染的,只是最终进行像素输出时从某一个特定的角度投影出来。现在我们要让它进行立体显示,内部渲染模式完全不用改动,只需要在像素输出时,按照一定的角度偏移量输出两帧画面就行了,因此显卡的渲染压力并没有增加多少,最终游戏性能有一定的下降,但并不严重。
普通游戏只要输出一帧就够了,立体显示需要输出两帧,而两帧之间的偏移量是可以通过驱动或者红外接收器控制的,可以随心所遇的增大或者缩短游戏场景与人眼之间的距离,具体多大显示效果最佳,这需要玩家自己不断摸索确定。
120Hz显示器的概念图,虽然很夸张,但带上立体眼镜后的效果确实震撼
现在我们回过头来看看本文开头所提到的那种现象,玩家通过左右摇晃身体想要看到屏幕外的画面,普通3D游戏是不可能的,除非是你移动鼠标挪动视窗。而带上3D眼镜之后,您确实可以看到一小部分“屏幕外”的画面,而且屏幕内的所有3D景物都不在显示器表面,而是凹进去或者凸出来的,只有游戏控制栏一些窗口或按钮“漂浮”在显示器上。当然所有的这些东西都只可意会不可言传,照片拍出来是重影的,只有带上3D眼镜才会有立体感!
其实在NVIDIA之前,已经有部分显卡厂商或者显示器厂商推出过类似的立体显示技术,但大多兼容性不好、性能损失严重、支持游戏数量有限、或者更新不够及时,当然最主要的是受到了CRT刷新率、闪烁、屏幕尺寸的限制,导致立体效果一般、长时间使用头晕目眩。
某双层面板的3D液晶显示器,需要显卡双头输入不同帧图像,配置要求很高
而此次NVIDIA发布的GeForce 3D Vision,则是建立在成熟、稳定的驱动基础之上,通过对最新游戏大作全力优化支持,使得视差位移立体显示画面更接近于真实。再加上120Hz液晶面板走向成熟,立体成像技术已今非昔比,相信老一辈CRT立体眼镜玩家们已经跃跃欲试了。
● 总结:PhysX+3D Stereo,电脑游戏质的飞跃
2008年全年,NVIDIA除了按部就班的更新显卡产品线之外,CUDA并行计算技术也日渐成熟,其中最受玩家瞩目的就是完全免费的PhysX物理加速技术,以往花一千多元才能买到的物理加速卡,如今GF8以上N卡可以更新驱动免费获得,而且性能更加强悍!通过支持PhysX的物理游戏,我们可以感受到什么叫做动态逼真,让游戏中的场景交互更接近于现实。
2009年伊始,NVIDIA又为游戏玩家们带来了另一大惊喜,3D Stereo让3D游戏摆脱了2D显示器的制约,在PhysX动态逼真的基础上诞生了空间立体感,让游戏玩家真正走进了虚拟游戏世界,享受身临其境的感觉。虽然NVIDIA 3D眼镜套装并不是免费的,但定价还算合理,适合高端游戏玩家体验。
GeForce 3D Vision想要走向普及,除了降低定位之外,120Hz显示器是其普及之路最大的障碍,目前能达到120Hz刷新率的显示器还不多,只有三星和优派推出了22寸的相关产品,价格也高出普通22显示器不少。此外已经有很多厂家推出了120Hz的液晶电视,由此可见未来LCD市场120Hz也是一大趋势,相信过不了多久就会平民化,主流玩家不妨多多关注,有机会一定要体验一把立体3D游戏的威力!
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow