《光线追踪挑战》封面

光线追踪挑战

Ray Tracer Challenge

Jamis Buck · 初版 2019 年

21人推荐
23位读者提及
29次提及

为什么值得读

  • 采用跨语言的伪代码降低上手门槛
  • 以测试驱动开发引导每一步逻辑实现
  • 从矩阵乘法一路实现到折射与完整渲染

Hacker News 上怎么说

  • ……来学习。我时不时还会用这个练习来测试新的语言特性(比如最近测了 C++20 的 ranges 和 coroutines)。我也经常通过 Jamis Buck 写的《光线追踪挑战》(The Ray Tracer Challenge)[1] 把这个练习推荐给别人,因为它是用伪代码描述了一个 raytracer 的完整实现。初学者基本只需要换成自己选的编程语言插进去跑,最后照样能搞出让人满意的视觉渲染结果。……

    …to learn. I also use this exercise from time-to-time to test new language features (for example C++20 ranges/coroutines recently). I also recommend this same exercise to others through the book "The Ray Tracer Challenge" [1] by Jamis Buck, because it describes an entire implementation of a raytracer in pseudocode. Beginners mostly just need to plug-in their language of choice & still end up with a satisfying visual result.…

  • 我发现另一个秉持同样精神的绝佳资源是 Jamis Buck 的《光线追踪挑战》(The Ray Tracer Challenge)。它采用与具体语言无关的测试驱动(TDD)方法,带你从零手搓一个 raytracer。

    Another splendid resource which I've found to be in the same spirit is Jamis Buck's The Ray Tracer Challenge. It follows a language-agnostic test-driven approach to making a raytracer from scratch.

  • ……两者的自然融合。宏(Macro)是一种非常有趣的方式,可以实现 Ruby 的很多元编程(metaprogramming)特性(虽然推理理解起来有点别扭)。我当时拿 Jamis Buck 的书《光线追踪挑战》(The Ray Tracer Challenge)[1] 当作一种有趣的学语言方式,结果真就学会了这门语言的大半内容。我最大的抱怨无非是它不够火——生态相当偏向 Web 开发者……

    …natural melding of the two. Macros are a really interesting way to achieve many of the same metaprogramming properties of Ruby (although a little awkward to reason about). I used Jamis Buck's book The Ray Tracer Challenge[1] as a fun kind of way to learn the language and ended up learning a good chunk of the language as a result. My biggest complaint is just that it's not more popular - it's ecosystem is pretty web developer-centric…

  • Jamis Buck 出了本挺新的书叫《光线追踪挑战》(The Ray Tracer Challenge),我最近正在慢慢啃。到目前为止我非常喜欢它的写法:一切都是基于测试的,比如你会拿到这样的题目:“给定矩阵 X 和向量 Y,X * Y 应当等于向量 Z”,然后……

    Jamis Buck has a new-ish book out called "The Ray Tracer Challenge" that I've been slowly working through. So far I really like the way it's written: everything is test-based, so you get a problem like: "given matrix X and vector Y, X * Y should be vector Z" and then…

  • 我一直对计算机图形学很感兴趣,但在学校从来没学过。我发现了 Jamis Buck 的《光线追踪挑战》(The Ray Tracer Challenge)[1],然后就彻底沉迷于手写 ray tracer 了。这本书带你从零开始做出一整套东西,从矩阵乘法一路讲到反射/折射以及渲染……

    I've always had an interest in computer graphics, but never studied it in school. I found Jamis Buck's _The Ray Tracer Challenge_[1] and got totally hooked on creating a ray tracer. The book walks you through creating everything from scratch, starting with matrix multiplication all the way up through reflection/refraction and rendering…

  • 我是在实现光线追踪器的过程中学会 Rust 的。我跟着 Jamis Buck 写的《光线追踪挑战》(The Ray Tracer Challenge)一步步做。过程超级好玩,而且对 Rust 来说是个绝佳的练手项目!

    I learned Rust while implementing a ray tracer. I followed the book _The Ray Tracer Challenge_, by Jamis Buck. It was fantastically fun, and was a great application for Rust!

正在加载完整评论……

键盘快捷键

/
聚焦搜索框
j / k
下一本 / 上一本
Enter
打开选中的书
Esc
关闭 / 返回
g h
回到首页
g b
值得读精选
g t
历史总榜
g r
上升最快
g l
我的书架
?
显示本帮助