zoukankan      html  css  js  c++  java
  • 《Ray Tracing in One Weekend》、《Ray Tracing from the Ground Up》读后感以及光线追踪学习推荐

    《Ray Tracing in One Weekend》

    优点:
    1. 相对简单易懂
    2. 渲染效果相当好
    3. 代码简短,只看书上的代码就可以写出完整的程序,而且Github上的代码是将基类与之类写在一起的,方便阅读
    缺点:
    1. 看完书你依然不知道,渲染效果好是因为用了路径追踪
    2. 书中部分代码是有问题的
    3. 并没有使用标准库容器,没有一定c++基础看不了
    点评

    定位是光线追踪小学级别的入门书籍,可以让你大致了解光追的原理,一窥离线渲染的些许门道,而不至于遭受巨大打击。

    《Ray Tracing from the Ground Up》

    优点:
    1. 覆盖了比较多的基础部分
    2. 结构设计清晰,看代码很舒服
    缺点:
    1. 此时年代过于久远(2007-9),高光模型竟然用phong
    2. 中文版翻译质量不佳
    3. 官网的代码是残缺不全的,也就是没有若干编程经验,学习此书寸步难行
    4. 渲染效果不如《Ray Tracing in One Weekend》
    5. 部分代码不如《Ray Tracing in One Weekend》,比如摄像机
    点评

    定位是光线追踪初中升高中级别的进阶书籍(五年中考三年模拟),覆盖的内容在当时应该是比较全的。但此书依然是教学性质的,很多产品级渲染器需要考虑的地方都没有讲。对于2016还在看这本书或者介绍这本书的,我真想往他们脸上糊上一本pbrt(本人看这本书是因为朋友推荐,看到15章时才发现此书年代久远还在用phong这种渲染模型,但本着有始有终的想法,还是硬把这本书看完了)。

    不过他的采样设计貌似不适合直接用tbb加速(生成若干个随机数数组,然后通过一套跳转算法取数),直接用渲染会出现奇怪的撕裂斑块,可以通过自旋锁解决,但是速度会慢很多,奇怪的是就算了用自旋锁,路径跟踪渲染间接照明还是会出现奇怪的撕裂斑块。《Ray Tracing in One Weekend》是采用直接生成随机数的方法,消耗虽然大,但是应该可以直接使用tbb加速而不会产生错误效果。
    稍微看了一下pbrt,感觉就是个产品级渲染器代码说明书。

    学习推荐:

    新手:《Ray Tracing in One Weekend》=》《Physically Based Rendering: From Theory to Implementation》

    有离线渲染基础:《Physically Based Rendering: From Theory to Implementation》

  • 相关阅读:
    git版本回退问题记录
    git add的各种情况分类
    代码优化积累【持续更新】
    package.json和package-lock.json的区别
    new Date在IE下面兼容问题
    git fetch和git pull的区别
    Node.Js的热更新服务——supervisor
    springboot 指定启动环境
    java后台解决上传图片翻转90的问题,有demo,经过测试可用
    intellij IDEA 实用快捷键
  • 原文地址:https://www.cnblogs.com/blueroses/p/9767568.html
Copyright © 2011-2022 走看看