总结《An Introduction to Ray Tracing》

195 篇文章 27 订阅
30 篇文章 1 订阅

在学习完《Ray Tracing in One Weekend》之后,对Ray Tracing的概念及其涉及的主要方面有了大概的了解。同时,在熟悉了《Ray Tracing in One Weekend》的官方源代码之后,可以开始对Tracer进行“扩展”。接下来,就是根据《An Introduction to Ray Tracing》的内容对《Ray Tracing in One Weekend》对应的Tracer进行“扩展”。

首先,说说对《An Introduction to Ray Tracing》这本书的看法:
这是本好书,毋庸置疑,非常值得读。“好书”貌似一般涉及的内容都比较多,有点像《Real-Time Rendering》,可以用“XX经典”、“XX圣经”来形容,当然也可以用“XX武林秘籍的目录”来描述。
只看了前面四章,发现其中涉及的内容超级多,尤其是第二、第三章。二、三章节讲的是如何画(Trace)各种surface。书上介绍了各种表面当时实现的主流算法、核心算法。仅仅根据书上提供的“直接内容”,想要用ray tracing的方式将相应的图形画出来,有点难度。但是,木有关系,书上还提供了足够多的“间接内容”——参考文档。不然,怎么称之为“武林秘籍的目录”呢?根据“参考文档”,然后“百度一下”,找到相关的详细论文,然后根据这些论文,基本都能将书上“罗列”过的surface画出来。(这里,提一下:在咱用不了谷歌的情况下,虽然还有其他搜索引擎可选,个人偏好Bing。但是,找起论文来,还是“百度”厉害,很多Bing找不到的、百度可以)

本人对《An Introduction to Ray Tracing》学习基本就是:画各种suface。(不考虑光照、纹理等等,只是将形状画出来)

后文,回帖出《An Introduction to Ray Tracing》的目录,然后链接到具体的总结博文。主要还是集中在第二、第三章节。为什么?因为:
第一章时概述,纯理论的东西,想用代码实现也找不到入手点。
第二、第三章有实现各种surface的主要算法、然后基于《Ray Tracing in One Weekend》的代码架构,然后再对应的详细的参考论文,是可以用代码实现这些surface的。
第四章及其之后章节,开始讲反射模型、光照模型、纹理等等。想想基于《Ray Tracing in One Weekend》的代码架构,本人不知道具体怎么来实现,所以,后来就开始读另一本书——《Ray Tracing from the Ground Up》。

  1. An Overview of Ray Tracing
    1.1 Image Synthesis
    1.2 Tracing Rays
    1.3 Recursive Visibility
    1.4 Aliasing

  2. Essential Ray Tracing Algorithms
    2.1 Introduction
    2.2 Ray/Sphere Intersection And Mapping
    2.3 Ray/Plane Intersection And Mapping
    2.4 Ray/Box Intersection And Mapping
    2.5 Ray/Quadric Intersection And Mapping

  3. A Survey of Ray-Surface Intersection Algorithms
    3.1 Introduction
    3.2 Basic Geometry
    3.3 Ray-Surface Intersections

  4. Surface Physics for Ray Tracing

  5. Stochastic Sampling and Distributed Ray Tracing

  6. A Survey of Ray Tracing Acceleration Techniques

  7. Writing a Ray Tracer

学习完《An Introduction to Ray Tracing》,可以接着学:
《Ray Tracing from the Ground Up》

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《实时光线追踪渲染精粹》 渲染器使用两种方法来确定像素颜色:光栅化或光线追踪。 光栅化从一个特定像素开始,并询问“这个像素应该是什么颜色?”; 光线追踪则在视角和光源起作用,并询问:“光线在做什么?” 光线追踪的工作原理是:追踪光线在场景内的反射路径。光线每次反射的时候,它都会通过沉积早前对象的颜色来模拟现实生活中的光线,同时损失强度。对于特定类型的材料与效果而言,这种颜色的沉积使得清晰的反射,以及细微,逼真的颜色变化只能通过光线追踪来实现。 由于它模仿光线的真实行为,光线追踪同时擅长于产生区域阴影和环境遮挡。 相反,光栅化比光线追踪更快,成本更低,只是通过一些近似值计算照明。Unreal的光栅化技术在一枚高速GPU上以毫秒为单位提供4K分辨率帧。栅格化可以非常逼近照片级别真实感,同时不一定是物理上精确。另外对于大多数Unreal引擎的用户来说,速度的提升显得非常值得。 但对于更强调照片级真实感而非性能的真人实景电影和建筑可视化项目而言,光线追踪则显得更有优势。到目前为止,由于其巨大的计算需求,光线追踪仅在离线渲染中实施。使用光线追踪计算的场景可能需要几分钟到几个小时才能计算出一个帧,而电影动画的一秒需要24帧才能填充完成。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值