总结《An Introduction to Ray Tracing》

在学习完《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》

你可能感兴趣的:(ray,trace,computer,graphics,summary)