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

总结《An Introduction to Ray Tracing》相关推荐

  1. STL源码剖析学习七:stack和queue

    STL源码剖析学习七:stack和queue stack是一种先进后出的数据结构,只有一个出口. 允许新增.删除.获取最顶端的元素,没有任何办法可以存取其他元素,不允许有遍历行为. 缺省情况下用deq ...

  2. 《STL源码剖析》学习-- 1.9-- 可能令你困惑的C++语法1

    最近在看侯捷的<STL源码剖析>,虽然感觉自己c++看得比较深一点,还是感觉还多东西不是那么明白,这里将一些细小的东西或者概念记录一下. 有些东西是根据<C++编程思想>理解的 ...

  3. 《STL源码剖析》学习--6章--_rotate算法分析

     最近在看侯捷的<STL源码剖析>,其中有许多不太明白之处,后经分析或查找资料有了些理解,现记录一下. <STL源码剖析>学习--6章--random access ite ...

  4. 《STL源码剖析》学习--6章--power算法分析

    最近在看侯捷的<STL源码剖析>,其中有许多不太明白之处,后经分析或查找资料有了些理解,现记录一下. 6章--power算法分析 书本中的算法如下所示: template <clas ...

  5. STL源码剖析——P142关于list::sort函数

    在list容器中,由于容器自身组织数据的特殊性,所以list提供了自己的排序函数list::sort, 并且实现得相当巧妙,不过<STL源码剖析>的原文中,我有些许疑问,对于该排序算法,侯 ...

  6. STL源码剖析---红黑树原理详解下

    转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7760584       算法导论书上给出的红黑树的性质如下,跟STL源码 ...

  7. STL源码剖析面试问题

    当vector的内存用完了,它是如何动态扩展内存的?它是怎么释放内存的?用clear可以释放掉内存吗?是不是线程安全的? vector内存用完了,会以当前size大小重新申请2* size的内存,然后 ...

  8. STL源码剖析学习二:空间配置器(allocator)

    STL源码剖析学习二:空间配置器(allocator) 标准接口: vlaue_type pointer const_pointer reference const_reference size_ty ...

  9. STL源码剖析 数值算法 copy 算法

    copy复制操作,其操作通过使用assignment operator .针对使用trivial assignment operator的元素型别可以直接使用内存直接复制行为(使用C函数 memove ...

  10. STL源码剖析 算法开篇

    STL源码剖析 算法章节 算法总览_CHYabc123456hh的博客-CSDN博客 质变算法 质变算法 - 会改变操作对象的数值,比如互换.替换.填写.删除.排列组合.分隔.随机重排.排序等 #in ...

最新文章

  1. linux svn更换数据仓库,Linux环境下SVN数据仓库迁移
  2. 网络编程大小端的注意事项
  3. 【408预推免复习】操作系统之虚拟存储器
  4. ubuntu---php脚本中执行换行
  5. 【项目管理】项目裁剪解读
  6. anaconda安装成功测试_学习笔记120—Win10 成功安装Anaconda 【亲测有效,需注意几点!!!】...
  7. linux 安装rmp服务,Linux LAMP服务的rpm包安装与配置
  8. Diango博客--13.将“视图函数”类转化为“类视图”
  9. ZZULIOJ 1088: 手机短号 (多实例)
  10. java hashSet
  11. C语言深入理解系列 - 关键字:auto和register
  12. 开发运维日常坑 总结 51-100
  13. 百度地图Map属性和方法
  14. 如何使用WordPress美化网站
  15. 《托马斯微积分》阅读笔记1
  16. python调用大漠插件寻路_简单大漠插件调用.py
  17. win7分区软件_全自动分区装系统PE纯净无广告
  18. android虚拟机启动失败
  19. Java操作Oracle数据库——ARRAY TABLE类型批量数据处理区别比较
  20. 苹果新产品中的机器学习算法

热门文章

  1. border_mode
  2. LVS负载均衡DR模式+keepalived
  3. 【自用】Android 切割Bitmap为多个小的Bitmap
  4. css base64 图片背景
  5. asp.net 用parameter对象更新数据
  6. 2010-11-23 network virtualization papers(2)
  7. jQuery框架学习
  8. javaweb基础----使用ajax校验用户名是否重复
  9. C#中英文逗号之间的相互转化
  10. oc21--super