0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

光线投射,光线追踪与路径追踪的概念与区别

Dbwd_Imgtec 来源:未知 作者:李倩 2018-04-19 14:59 次阅读

光线投射 Ray Casting [1968]

光线投射(Ray Casting),作为光线追踪算法中的第一步,其理念起源于1968年,由Arthur Appel在一篇名为《 Some techniques for shading machine rendering of solids》的文章中提出。其具体思路是从每一个像素射出一条射线,然后找到最接近的物体挡住射线的路径,而视平面上每个像素的颜色取决于从可见光表面产生的亮度。

光线投射:每像素从眼睛投射射线到场景

光线追踪 Ray Tracing [1979]

1979年,Turner Whitted在光线投射的基础上,加入光与物体表面的交互,让光线在物体表面沿着反射,折射以及散射方式上继续传播,直到与光源相交。这一方法后来也被称为经典光线跟踪方法、递归式光线追踪(Recursive Ray Tracing)方法,或 Whitted-style 光线跟踪方法。

光线追踪方法主要思想是从视点向成像平面上的像素发射光线,找到与该光线相交的最近物体的交点,如果该点处的表面是散射面,则计算光源直接照射该点产生的颜色;如果该点处表面是镜面或折射面,则继续向反射或折射方向跟踪另一条光线,如此递归下去,直到光线逃逸出场景或达到设定的最大递归深度。

经典的光线追踪:每像素从眼睛投射射线到场景,并追踪次级光线((shadow, reflection, refraction),并结合递归

光线追踪(Ray tracing)是三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。这样得到的结果类似于光线投射与扫描线渲染方法的结果,但是这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以当追求高质量的效果时经常使用这种方法。

以下这张图示可以很好的说明光线追踪方法的思路:

Ray Tracing Illustration First Bounce

基于光线追踪渲染出的效果图1

基于光线追踪渲染出的效果图2

典型的光线追踪渲染效果图

光线跟踪的一个最大的缺点就是性能,需要的计算量非常巨大,以至于目前的硬件很难满足实时光线追踪的需求。传统的光栅图形学中的算法,利用了数据的一致性从而在像素之间共享计算,而光线跟踪通常是将每条光线当作独立的光线,每次都要重新计算。但是,这种独立的做法也有一些其它的优点,例如可以使用更多的光线以抗混叠现象,并且在需要的时候可以提高图像质量。尽管它正确地处理了相互反射的现象以及折射等光学效果,但是传统的光线跟踪并不一定是真实效果图像,只有在非常近似或者完全实现渲染方程的时候才能实现真正的真实效果图像。由于渲染方程描述了每个光束的物理效果,所以实现渲染方程可以得到真正的真实效果,但是,考虑到所需要的计算资源,这通常是无法实现的。于是,所有可以实现的渲染模型都必须是渲染方程的近似,而光线跟踪就不一定是最为可行的方法。包括光子映射在内的一些方法,都是依据光线跟踪实现一部分算法,但是可以得到更好的效果。

分布式光线追踪 Distributed Ray Tracing [1984]

Cook于1984年引入蒙特卡洛方法(Monte Carlo method)到光线跟踪领域,将经典的光线跟踪方法扩展为分布式光线跟踪算法(Distributed Ray Tracing),又称为随机光线追踪(stochasticray tracing),可以模拟更多的效果,如金属光泽、软阴影、景深( Depthof Field)、运动模糊等等。

路径追踪 Path Tracing [1986]

Kajiya于1986年提出了路径追踪算法的理念,开创了基于蒙特卡洛的全局光照这一领域。根据渲染方程, Kajiya 提出的路径追踪方法是第一个无偏(Unbiased)的渲染方法。路径追踪的基本思想是从视点发出一条光线,光线与物体表面相交时根据表面的材质属性继续采样一个方向,发出另一条光线,如此迭代,直到光线打到光源上(或逃逸出场景),然后用蒙特卡洛的方法,计算其贡献,作为像素的颜色值。

简单来说,路径追踪 = 光线追踪+ 蒙特卡洛方法。

基于路径追踪渲染的效果图

双向路径追踪 Bidirectional Path Tracing [1993,1994]

双向路径追踪(Bidirectional Path Tracing)的基本思想是同时从视点、光源打出射线,经过若干次反弹后,将视点子路径( eye path) 和光源子路径( light path) 上的顶点连接起来(连接时需要测试可见性),以快速产生很多路径。这种方法能够产生一些传统路径追踪难以采样到的光路,所以能够很有效地降低噪声。 进一步的, [Veach 1997]将渲染方程改写成对路径积分的形式,允许多种路径采样的方法来求解该积分。

Ray Casting ,Ray Tracing,Path Tracing的区别

初学者往往会弄不明白光线投射(Ray Casting ),光线追踪(Ray Tracing),路径追踪(Path Tracing)三者的的区别,龚大 @叛逆者 在https://www.zhihu.com/question/29863225这个答案中的回答已经很精辟,本文就直接引用了过来:

• Ray Tracing:这其实是个框架,而不是个方法。符合这个框架的都叫raytracing。这个框架就是从视点发射ray,与物体相交就根据规则反射、折射或吸收。遇到光源或者走太远就停住。一般来说运算量不小。

• Ray Casting:其实这个和volumetric可以脱钩。它就是ray tracing的第一步,发射光线,与物体相交。这个可以做的很快,在Doom 1里用它来做遮挡。

• Path Tracing:是ray tracing + 蒙特卡洛法。在相交后会选一个随机方向继续跟踪,并根据BRDF计算颜色。运算量也不小。还有一些小分类,比如Bidirectional path tracing。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蒙特卡洛
    +关注

    关注

    0

    文章

    12

    浏览量

    8038
  • 光线追踪
    +关注

    关注

    0

    文章

    175

    浏览量

    21353

原文标题:光线投射 ,光线追踪与路径追踪的区别

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    光线追踪技术学习资料

    资料是Peter Shirley的一周学会光线追踪技术。资料为英文版.光线最终其实已经不是什么新鲜技术了,但是最近随着英伟达最新的显卡加入了Ray Tracing技术又被人们开始提及起来,对于该图像技术又有什么值得称道的呢?赶紧
    发表于 10-12 16:36

    光线追踪技术的作用

    其实对于产品设计师而言,光线追踪技术并不陌生。简单的说,是自三维(3D)图形诞生以来图形技术领域最重要的进步之一,而且它即将从高深的电影和广告领域转向移动、可穿戴和汽车等嵌入式领域,作为全新的、更有
    发表于 11-02 08:21

    Imagination的光线追踪等级系统介绍

    Imagination的光线追踪等级系统
    发表于 12-21 06:02

    光线追踪技术介绍

    光线追踪:一种颠覆性技术
    发表于 01-22 07:19

    硬件光线追踪的优势有哪些

    硬件光线追踪的优势光线追踪面临的关键挑战
    发表于 01-28 07:19

    光线追踪等级系统的介绍

    我们为什么要发布光线追踪等级系统?它对游戏意味着什么?
    发表于 01-29 07:41

    光线追踪如何实现实时三维图形?

    什么是光线追踪光线追踪如何实现实时三维图形?
    发表于 02-26 07:03

    如何看待光线追踪

    光线追踪我们实际应用中经常用吗,他到底是一项什么技术?
    发表于 03-07 08:36

    什么是光线追踪

    什么是光线追踪
    发表于 05-28 06:38

    怎样实现光线追踪

    怎样实现光线追踪?怎么使光线追踪生效?
    发表于 05-31 06:51

    硬件光线追踪的优势有哪些?

    光线追踪面临的关键挑战是什么?硬件光线追踪的优势有哪些?
    发表于 05-31 06:53

    光线追踪算法汇总

    在基本光线追踪算法中,只追踪有限数目的光线
    的头像 发表于 05-11 15:58 1.7w次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>算法汇总

    叮,你有一份光线追踪技术合集待查收 | IMG2020

    回顾 2020 年,Imagination 陆续推出了一系列有关光线追踪的文章, 从光线追踪的基本原理概念,到技术难点解读,再到发布
    发表于 01-31 07:20 6次下载
    叮,你有一份<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>技术合集待查收 | IMG2020

    移动端的光线追踪是如何实现的

    对于光线追踪(ray tracing)这一概念,电脑游戏玩家肯定是不陌生的。光线追踪给游戏画面展示带来了更为细腻的光照表现和写实的光影效果,
    的头像 发表于 11-11 09:34 1691次阅读

    什么是路径追踪 光柵化与光线追踪区别

    凭借 Autodesk 的 Arnold、Chaos Group 的 V-Ray 或皮克斯的 Renderman 等工具以及强大的 GPU,产品设计师和建筑师使用光线追踪在几秒钟内就能生成逼真的产品模型,这使他们能够更好地开展合作并跳过昂贵的原型设计。
    发表于 07-29 11:24 3961次阅读