…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…
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!
……来学习。我时不时还会用这个练习来测试新的语言特性(比如最近测了 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!