编写光线跟踪器的文献和教程

grr*_*sel 34 language-agnostic graphics raytracing

我有兴趣找到关于编写光线跟踪器的书籍的建议,可以在网上看到的简单而清晰的光线跟踪实现,以及关于介绍光线跟踪的在线资源.

理想情况下,该方法将是渐进式和教学式的,并从基础开始解释编程技术和基础数学.

Boo*_*jum 27

凯文·萨弗恩(Kevin Suffern)的"Ray Up from the Ground Up"开始了.

Matt Pharr和Greg Humphreys的"基于物理的渲染",当你对基础知识感到满意时,可以更加高级.

如果你真的进入它,Ray Tracing News档案是一个很好的阅读.此外,很多光线追踪爱好者都在ompf2.com论坛闲聊.


grr*_*sel 16

好吧,我自己没有找到任何完美的答案,从基础知识中逐步完成; 我发现了许多简单的光线追踪器,并指出了大量的教科书和学术参考.

我没有尝试过这些光线追踪器,但它们看起来既有趣又简单.

http://www.barakcohen.co.il/2008/10/ray-tracing-simple-java-open-source.html

http://blogs.msdn.com/lukeh/archive/2007/04/03/a-ray-tracer-in-c-3-0.aspx

http://www.ffconsultancy.com/languages/ray_tracer/

来自ACM Cross Roads学生杂志

http://www.acm.org/crossroads/xrds3-4/raytracing.html

C++中的这个至少是短的; 简单性因速度而丧失

http://ompf.org/ray/sphereflake/

关于射线追踪的某些方面的博士论文在这里

关于DevMaster的一系列文章就在这里

OMPF论坛必须阅读一系列帖子,可在此处找到

这听起来像我所需要的"光线追踪简介"这本书;-),作者主页在这里用于更多与图形相关的编程.

从头开始的光线跟踪也包括可下载的光线跟踪器源代码.

MiniLight是一款最小的全局照明渲染器.

SmallPT是一个全球性的照明的渲染器,在99行C++,具有变体使用关于在OpenCL的CPU和GPU单精度浮点数.

感谢指针的其他海报


tfi*_*iga 5

我上大学的高级渲染课程有我见过的最好的设计项目.通过项目帮助和讲义,您需要的只是在网站上.

基本的想法是,在光线跟踪器中制作非常微妙的错误非常容易,特别是当你进入折射之类的东西时.如果您只是在空间中随机创建一堆球体,则很难验证正确性或诊断错误.

因此,有一个解析器很容易合并到您自己的代码中,以及一堆诊断场景文件.第一个文件最容易上手(从原点开始,俯视一个轴,一个球体),如果你能正确渲染它们,你几乎可以保证有一个正常工作的光线跟踪器.

此外,解析器使用RIB格式,这是Pixar的标准场景文件格式,并且几乎可以从任何建模器中导出.

它还探索了分布式光线跟踪和路径跟踪,它可以为您提供一些非常好的图像.