注册 | 登录

游侠NETSHOW论坛





查看: 4892|回复: 13
打印 上一主题 下一主题

[原创] 光线追踪 [复制链接]

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2011-5-9 16:06:51 |只看该作者 |倒序浏览
升级到1.4后终于看到~~

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
沙发
发表于 2011-5-11 21:50:07 |只看该作者
本帖最后由 hgxi 于 2011-5-14 15:53 编辑

~~大家谈谈~~呵呵~~

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
板凳
发表于 2011-5-11 22:23:50 |只看该作者
光线追踪是一种“来自几何光学的通用技术,它通过追踪与光学表面发生交互作用的光线,得到光线经过路径的模型”。这个定义听起来有些晦涩,我们不妨说简单一点:首先假设屏幕内的世界是真实的,显示器只是一个完全透明的框框,那么屏幕内世界里应该有哪些光线会透过屏幕投入人的眼睛呢?光线追踪技术正是为了解决这个问题,以确保3D画面看起来更真实。
  中学物理中就曾讲过光学知识,当光线透射到物体表面时,通常会同时发生3件事,那就是光被吸收、反射和折射。特别是当光被折射到不同方向时,光谱就会发生变化。无论怎样,光线总会经过一系列的衰减最后进入人的眼睛,光线追踪就是要计算出光线发出后经过一系列衰减再进入人眼时的情况,特别是对第一人称的游戏来说,这种技术非常有助于提高游戏场景的真实感。其实,这种技术并不是在DirectX 10时代才诞生的,它被提出、被研究已经超过30年了。近些年来也常被应用于电影3D特效中。不过应用于电脑游戏中,还是从DirectX 10开始的。光线追踪技术原理图  图1 ‍光线追踪技术原理图。光线从人眼方向射出,透射在绿色球体表面,通
  

图1


过折射,一部分管线又被投射在红色三角形上,并同时产生自然阴影。
  光线追踪技术的利与弊
  现在游戏基本都没有应用光源追踪技术,光线都是由你能看到的亮光的物体自身发出的,电脑也不会计算每个光源从哪里来,到哪里去,更不会计算这些光源的相互叠加。只是通过即使演算物体阴影和控制光线的强弱来“模拟”人眼看到的真实情况。尽管现在很多采用了HDR(高动态范围)效果的游戏都有很不错的光影效果,但是那远非真实的光影效果。你很难通过影子和光线的遮蔽来判断,移动的目标(比如射击游戏中的敌人)所处的位置。实例

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
地板
发表于 2011-5-11 22:32:07 |只看该作者
本帖最后由 hgxi 于 2011-5-14 15:40 编辑

   一个多月前,美国洛杉矶的新兴3D计算图形公司Caustic Graphics宣布在光线追踪加速技术领域取得重大突破,其第二代新技术的处理速度可达当今顶级桌面显卡的200倍之多,一时间引发了业界浓厚的兴趣,不过当时一切都停留在纸面上,也招致了不少质疑。Caustic Graphics公司由来自苹果的James A.McCombe、Luke Peterson、Ryan Salsbury在2006年共同成立,其中James担任首席技术官。这位OpenGL世界的三号人物于2001年加盟苹果公司,当时Mac平台上基本还没有3D技术支持。之后的几年里,他设计了Mac平台上的OpenGL软件堆栈,并帮助开发了片断着色(Fragment Shading)语言,还参与了高级着色语言(HLSL)的规范制定工作,后期主要从事iPod、iPhone方面的工作。


在成立新公司之前,三位创始人花了八个月的时间建立起光线追踪模型、试验新算法,才将此确定为未来的发展方向,并默默工作了将近三年才公布自己的成果。现在我们就来看看他们所研发的软硬件及其背后的技术细节。

一、光线追踪加速卡硬件





这是提供给开发人员和独立软件开发商(ISV)的第一批硬件样品“CausticOne”,供他们在“CausticRT”平台上测试、编程和设计之用。该卡采用PCI-E 1.0 x4接口,两块黑色散热片下边就是两颗传说中的“光线追踪处理器”(RTPU),其实都是简单的FPGA(现场可编程门阵列),运行频率100MHz,每颗搭配自己的一条64-bit DDR2 SO-DIMM内存,另外蓝色散热片之下是PCI-E桥接芯片,总功耗约20W。

而实际零售上市的加速卡将是“CausticTwo”,使用自行设计的ASIC(专用集成电路),频率350MHz,计算能力是CausticOne的四倍,而且改用PCI-E x16接口来获得更大带宽,不过整体仍是简单的单插槽散热设计。上市时间?大概在“2010年初”。

非常有趣的是,不但可以在一块加速卡上放置两颗RTPU处理器进行协同工作,还能在一套系统里使用多块这样的加速卡来进一步提升计算性能,就像SLI和CrossFire。

光线追踪处理器(RTPU)这个新概念也许会让很多人产生一些反感,毕竟我们已经有了中央处理器(CPU)、图形处理器(GPU)、物理处理器(PPU)、加速处理器(APU)、网络处理器(NPU)、人工智能处理器(AIPU)等一系列名目,不过James多次强调,他们原本无意制造硬件设备,只是在软件算法开发过程中发现,当前无论是处理器还是显卡都不能满足他们的需要,才不得不造出这么个东西。

二、CausticRT渲染流程



整个过程大致可分为三部分:最底层是协处理器CausticOne,之上是软件开发层“CausticGL”,基于OpenGL ES 2.0、GLSL和Caustic扩展,然后就是渲染器“CausticRener”,由一些高级渲染API和组件构成。

首先需要特别指出的是,RTPU处理器是专门负责处理光线追踪渲染的,标准的着色渲染等工作依然由显卡和处理器承担。(也就是说,等到今后显卡性能足够强的时候,理论上可以将其集成进去,就像NVIDIA把PhysX物理引擎放到了GeForce显卡里。)

出于保护知识产权和商业机密的原因,Caustic Graphics没有透露所研发新算法的内部机密,简单地说能够从看似杂乱无章的光线追踪里寻找特定顺序,并大幅提高内存局部性(数据局部性),进而让光线追踪渲染效率有了突飞猛进。

Caustic Graphics宣称,他们找到了一种方法,可以通过专用硬件(RTPU)计算海量的光线路径,远非现有系统可及,同时仍能维持实时渲染效率;然后计算结果由软件传送给GPU,而且后者可以高效率地执行这些代码。换言之,CausticOne硬件利用自己的光线追踪算法接管了平常看起来随机混乱的着色结果并单独进行计算,然后CausticGL以GPU能够看懂的方式编译结果数据,再配合GPU的本职渲染工作,搞定。

Caustic Graphics还设计了一种算法,可以让RTPU根据从板载控制器获得的一种特定存储数据集来优化计算量,因此不需要超大规模存储带宽和容量,这也就是为什么只使用看起来非常可怜的64-bit DDR2 SO-DIMM的主要原因。

三、DEMO演示

说了这么半天,相信大家都已经迫不及待地想看看实际效果了。Caustic Graphics在一台MacPro上展示了一个实时渲染DEMO,其中只使用处理器进行着色计算,不用显卡。

DEMO中在威尼斯***上放置两辆奥迪R8s,均由大约180万个三角形组成,周围环境只是陪衬,故而没有细致刻画,只是平滑的纹理贴图。画面在VGA 640×480分辨率下实时渲染,每像素光线数量、每条光线的反射次数、反锯齿效果、甚至着色器代码等参数都可以实时调整。


(关闭反锯齿)


(开启反锯齿)

演示要点:

1、摄像机运动的时候关闭反锯齿以提升渲染速度,但停止后恢复反锯齿。对比效果如上。

2、倒影之中可以看到更小的倒影,再往里还有更小的,理论上有无限层次。

3、汽车表面喷漆都是程序着色渲染而来的,不是简单贴图,DEMO里可以对其进行实时编辑。

4、DEMO最初的设定是每像素4条光线,此时渲染速度5-6FPS。增加光线数量会带来更好的效果,但是帧率会迅速降低。

5、可以通过一个着色器实现景深效果的程序模拟。

6、DX10.1特性之一环境光遮挡(Ambient Occlusion)被用在了汽车的角落里,同样是实时渲染。

7、可以实时拆卸汽车零部件,如拿掉顶盖或车门,并四处移动它们。

很遗憾大家不能亲自体验这个DEMO,但是可以看看下边这段视频,其中的场景包括500万个三角形(包括两辆汽车的360万个),所有可见效果都是使用一块CausticOne加速卡百分之百程序化光线追踪渲染而来的,实时帧率3-5FPS。


更多渲染效果图:

















四、前景展望

Caustic Graphics的出现让我们很自然地想起了当年的Ageia,以及后者推行的PhysX物理加速技术和加速卡。Ageia的经营模式没有取得成功,在被NVIDIA收购后倒是掀起了不小的波澜,物理加速已经成为当前3D游戏行业的热门话题,AMD和Intel也都在纷纷开发各自的相应技术,不过我们必须承认,物理加速现在依然不够成熟,实际效果也是一般般,与其消耗的硬件资源不成正比,所以短期内仍只不过是个附加话题而已。

Caustic Graphics和Ageia看起来是如此相似,它的命运又会如何呢?是不是回走上同样的道路呢?看起来极有可能,不过别忘了光线追踪技术还有个更广阔、更赚钱的应用领域:专业图形工作站和企业级用户。从普通消费者和玩家的角度上看,光线追踪技术自然应该用于3D游戏,但对媒体与娱乐设计师、产品设计师、建筑设计师等专业人士来说,他们对光线追踪并不陌生,深深了解它的强大之处,这才是CausticRT平台的真正用武之地。如果能在很短的时间内把自己的汽车方案逼真地渲染出来展示给老板看,设计师怎能不兴奋?如果能在一套简单的平台上快速渲染出如真似幻的电影大片,好莱坞怎么能拒绝?

Caustic Graphics自然想到了这些,并且已经开始和Cinema4D、Autodesk、Blender Render等专业厂商合作,争取在他们的软件中加入对CausticRT的支持,还购买了拥有知名巴西渲染系统(Brazil Rendering System)的SplutterFish公司,以便更好地了解如何与软件开发商合作集成CausticRT和开发工具,充分发挥其软硬件的性能。这些对该公司的长期发展和成功非常重要。

当然你我们更希望看到这种新技术能在桌面上得到应用和普及,让我们拥有更真实的游戏体验,不过Caustic Graphics坦言,完全光线追踪化的游戏引擎还得等很多年,并估计至少四五年后他们的硬件才能在1920×1200分辨率下达到60FPS的有效帧率。

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
5#
发表于 2011-5-11 22:37:22 |只看该作者
提升现阶段硬件对于处理光线追踪时代效率以及改进目前流行的光线追踪算法,一直是业界专家们研究讨论的话题。目前对于实时光线追踪的都是通过“包裹式追踪”的方式来实现的。所谓“包裹式追踪”就是将若干组像素打包在一起,然后追踪相邻像素的所对应的光线,显然这种处理方式的效率会比较高,但随之光线不断产生碰撞跳转,原本完整的像素包将被逐渐打散,GPU非常依赖的数据局部性也就等不到保障,Caustic声称目前的GPU没有足够的带宽来满足实时光线追踪庞大的数据交换。

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
6#
发表于 2011-5-11 22:41:45 |只看该作者
目前光线追踪技术的问题在于不能预先渲染动态、随机的3D场景,它只能实时处理的弊端显然不能满足性能上的需求,包括目前最强大的Kentsfield四核心处理器仅能在256x256分辨率下慢速运行这些现实,但随着Intel、AMD这些通用处理器制造厂商的努力,终有一天光线追踪技术会走进游戏,让虚幻变真实。

使用道具 举报

帖子
41
精华
0
积分
21
金钱
286
荣誉
0
人气
0
评议
0
7#
发表于 2011-5-13 22:45:57 |只看该作者
很不错,长知识了

使用道具 举报

帖子
51
精华
0
积分
27
金钱
368
荣誉
0
人气
0
评议
0
8#
发表于 2011-5-14 04:56:36 |只看该作者
光线追踪 对硬件要求太高·····还需时日

使用道具 举报

帖子
10233
精华
0
积分
5179
金钱
8846
荣誉
5
人气
23
评议
0
9#
发表于 2011-5-14 06:35:18 |只看该作者
1.4有光线追踪???LZ拜托你快点上张图让我看看,我怎么没见到。。。
CPU   i7 2600
主板  技嘉 P67A-UD4-B3
硬盘  西数 2TB
内存  金士顿 HyperX DDR3 1600 4G*2
显卡  影驰 GTX660Ti 四星大将 SLI

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
10#
发表于 2011-5-14 15:51:37 |只看该作者
回复 zctang305 的帖子

偶是说”看到一些端倪"~~呵呵

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
11#
发表于 2011-5-14 16:08:53 |只看该作者
本帖最后由 hgxi 于 2011-5-14 16:19 编辑

目前实时光线追踪的软件条件是基本达标,但是光线追踪硬件的性能还有待提升,目前最强的4核Kentsfield也只能在256×256下勉强“实时演算”,Intel给出的16核成绩也令人很无奈。根据Intel跟Daniel的说法,要用光线追踪想渲染出达到现代游戏的画面质量,同时跑出可流畅运行的帧数,每秒需要计算大概10亿束光线!!!这个数字包括每帧每象素需要大概30束不同的光线,分别用来计算着色、光照跟其他各种特效,按照这个算式,在1024×768这样的入门级分辨率下,一共有786432个象素,乘以每象素30束光线以及每秒60帧,我们就需要每秒能运算141.5亿束光线的硬件…………或许各位对这个数字很难理解,这里举个例子供对比参照,Intel的双Clovertown服务器系统在附加处理三线过滤的时候大概每秒能运算830万束光线~~想必各位对前面的数字应该有个大概认识了吧?
不过,对此Intel倒是蛮乐观,据他们的实时光线追踪小组预测,能够渲染出“现代游戏效果”的硬件将在未来两年内诞生,也就是说,到那个时候,我们或许就可以看到一款完全基于光线追踪的游戏引擎~~当然很可能是由Intel推出,因为没有游戏厂商愿意冒这么大风险去抢滩过渡~~

使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
12#
发表于 2011-5-14 16:47:01 |只看该作者
本帖最后由 hgxi 于 2011-5-14 16:53 编辑

光线追踪技术一直是Intel Larrabee的宣传重点,不过该产品要到将近两年后才会来到消费者面前,而AMD刚刚推出的Radeon HD 4800系列已经可以在DX9模式下支持100%光线追踪管线了。这样,除了3D游戏和视频解码转码,AMD新卡又多了一个能征善战的新领域。

JulesWorld是Jules Urbach创立并担任CEO的一家小公司,但充分利用图形处理器的能力在电影产业内取得了巨大的成就。从R600 Radeon HD 2900 XT开始,他们就试验100%光线追踪管线了,之后陆续取得了很多成果。顺便说一句,AMD日前的电影化游戏技术“Cinema 2.0”演示DEMO就是这家JulesWorld公司做的。

JulesWorld利用DX9 API开发了一种光线追踪器,并使用Tessellation和AA算法编写了自己的高级代码。结合他们的技术,在HD 2900 XT上就已经可以做到实时光线追踪了,并且在电影《变形金刚》的一系列预告片中得到了实用。这些预告片都是在显卡上渲染的,而且更重要的是可以实时导演,制作人可以随意指挥虚拟镜头,按照自己的意愿编排预告片。

至于性能,HD 2900 XT 1GB可以在720p分辨率、不开启AA的情况下达到20-30FPS;换成HD 3870则可以提高到60FPS,开启一种私有AA算法的话也有40FPS;到了HD 4870,即使开启AA也依然是60FPS(对光线追踪器来说60FPS就是封顶了)。JulesWorld也在GeForce 8800显卡上展开了研究,但由于NVIDIA不支持Tessellation技术,进展还不是很顺利。

JulesWorld的这种光线追踪器对显存容量要求比较高,因此如果有Radeon HD 4850/4870 1GB将是当前最好的选择,2GB自然更好。

Urbach透露说,他会在八月份的Siggraph大会上展示他们的最新成就,包括一个完整的Ruby DEMO,同时他希望能在不远的将来实现1080p和更高分辨率的实时渲染。一般业界人士都认为实现这种目标需要3-5年,但Urbach相信年底就能做到。

至于能否在DX10技术下达到同样的效果,JulesWorld没有透露这方面的消息。

JulesWorld会发布“OTOY”和“LightScape”两种技术,有望彻底改编电影和游戏的制作方式,其中LightScape可以生成由3200万个向量组成的真实人物和表情,实现照片级画质。


使用道具 举报

帖子
122
精华
0
积分
62
金钱
815
荣誉
0
人气
0
评议
0
13#
发表于 2011-5-25 19:20:09 |只看该作者
 英特尔希望通过使用光线追踪(ray tracing)新技术来提升平板机和其他移动设备中游戏图像的真实性和3D立体特效。

  英特尔上周表示,他们可以使用光线追踪技术来设计芯片,并对游戏进行重新写入(rewriting),通过追踪光线轨迹来产生更加准确的图像,该技术日后还将被应用在云游戏等平台。

  英特尔称,他们将在未来发布新款芯片,届时移动设备用户就能够通过实时光线追踪技术进行复杂的云平台3D游戏,不过这需要更大的计算功耗。多组服务器连同多个中央处理器、向量处理单元通过并行任务处理来呈现准确图像,然后再发送到平板机和智能手机设备上。

  平板机、智能手机大多用来进行休闲类游戏,但随着硬件性能的不断提升,它们开始能够处理高分辨率图像。苹果上周发布的iPad 2平板机就在前代机型上进行了提升,LG的Optimus 2X智能手机已经能够渲染1080P视频。在上月举行的世界移动通信大会上,由英伟达Kal-El四核Tegra处理器驱动的平板机还可以运行Xbox 360游戏。

  英特尔研究员Daniel Pohl称,他们已经对第一人称射击类游戏《德军总部》(Wolfenstein)进行了重新写入,加入光线追踪技术后的游戏看起来更加真实。Daniel Pohl表示:“由于光线追踪技术采用了3D建模光线处理方法,可以获得逼真的反射、阴影效果。当红色汽车停在庭院中时你就能看到非常明亮的反射面。”

  比如说,光线追踪可以让玩家通过汽车反射面作为镜子来观看是否有狙击兵从后面靠近,它还可以增加阴影等视觉效果来加强游戏中的3D立体特效。

  加利福尼亚大学电学与计算机工程学副教授John Owens称,现在的屏幕设备拥有上千万的像素点,每个像素点通过无数条光线来发光,这就需要大量处理计算过程,对于现有设备来说是个挑战。

  为了对游戏中不断变换的场景进行准确取样,数十亿的光线需要不间断的对物体进行追踪。如果一款游戏中含有众多移动物体和变换场景,那么建模过程将会十分复杂。

  John Owens表示:“光线追踪技术之所以没有被应用在目前的显卡硬件或者大部分游戏中就是因为它需要大量的计算过程。”

  英特尔计划通过Knights Ferry服务器处理器芯片来解决目前光线追踪技术所遇到的困难,Knights Ferry是在去年5月份的国际超级计算大会(ISC)上亮相,它基于英特尔最新多核心(Many Integrated Core)架构,用于复杂图形和高性能运算。Knights Ferry为32核心服务器处理器,对应512位向量处理单元,主频1.2GHz,支持OpenCL和微软DirectX。

  Knights Ferry算是对英特尔此前取消的首款独立显卡Larrabee的一个替代,英特尔曾经在2009年的英特尔开发者论坛(IDF)上使用《雷神战争》(Enemy Territory:Quake Wars)展示了Larrabee的光线追踪技术,但是由于展示时间有限,该技术并未获得太多共鸣。

  因特尔高管曾经在2月底表示,首款基于MIC架构的商用芯片定名Knights Corner,它将在明年下半年发布,届时移动游戏或许就能用上光线追踪技术了。

使用道具 举报

帖子
38
精华
0
积分
19
金钱
84
荣誉
0
人气
0
评议
0
14#
发表于 2011-5-30 16:44:42 |只看该作者
本帖最后由 幽灵妹妹 于 2011-5-30 16:52 编辑

CryEngine3是可以支持RC,但是目前C2游戏中主要还是HDR  。Larrabee目前英特尔已经放弃了

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2026-4-5 02:34 , Processed in 0.329391 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到