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

Language agnostic 编写光线跟踪器的文献和教程,language-agnostic,graphics,raytracing,Language Agnostic,Graphics,Raytracing,我感兴趣的是找到有关编写光线跟踪器的书籍的建议,可以在web上看到的光线跟踪的简单而清晰的实现,以及介绍光线跟踪的在线资源 理想情况下,这种方法应该是渐进式和教程式的,并从基础开始解释编程技术和欠编程数学。该用户有一些关于光线跟踪的有趣教程,这些教程使用C#我相信: 我相信会有一些更好的教程,但这可能会引起兴趣。你看过波弗雷吗?我认为这是理解光线跟踪的一个很好的起点()凯文·萨芬的《从地面开始的光线跟踪》入门 马特·法尔(Matt Phar)和格雷格·汉弗莱斯(Greg Humphreys)的

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


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

该用户有一些关于光线跟踪的有趣教程,这些教程使用C#我相信:


我相信会有一些更好的教程,但这可能会引起兴趣。

你看过波弗雷吗?我认为这是理解光线跟踪的一个很好的起点()

凯文·萨芬的《从地面开始的光线跟踪》入门

马特·法尔(Matt Phar)和格雷格·汉弗莱斯(Greg Humphreys)的“基于物理的渲染”,让您在熟悉基础知识的情况下更深入地了解它


如果你真的投入其中,档案是一本很好的读物。此外,许多光线追踪爱好者都会在。

上闲逛。如上所述,你能得到的最好的书是Matt Pharr的《基于物理的渲染》(请访问www.pbrt.org)。非常详细地解释了许多算法,包括光子映射等高级内容。此外,它还包括一个完全工作的光线跟踪器,因此您可以查看它。它还包括数学基础知识,所以如果你不想买很多书,我绝对推荐你看看这本

这比这方面的经典书籍要好得多,因为它们往往只解释理论,而不解释如何真正实现它。对于基础知识,任何一本数学书都可以做到,或者您可以尝试“实时碰撞检测”,这也解释了许多相交例程(在光线跟踪中需要这些例程)

如果你真的想从基础开始,你应该试试“计算机图形学:原理与实践”,它已经过时了(现在有些部分真的是胡说八道),但它很好地解释了基础。如果你想要一本更新的书,可以试试《计算机图形学基础》,里面也有同样的内容,只是没有那么详细(应该足够好让你开始学习)


最后但并非最不重要的一点是,它实际上相当不错,应该给你一些起点。看看外部链接部分。

好的,我自己还没有找到任何完美的答案,这是从最基本的部分开始的;我发现了很多简单的光线跟踪器,还有大量的教科书和学术参考资料

我没有试过这些光线跟踪器,但它们看起来很有趣,也很简单

来自ACM Cross Roads学生杂志

<>这个C++至少是短的;简单是为了速度

一篇关于光线追踪某些方面的博士论文正在发表

关于DevMaster的一系列文章是

OMPF论坛必读系列帖子可以找到

听起来这本书正是我需要的;-),作者的主页是与图形相关的编程

up还包括可下载的光线跟踪器源代码

是最小全局照明渲染器

是一个全局照明渲染器,在C++的99行中, 在OpenCL的CPU和GPU上使用单精度浮点

多亏了其他的指针海报

,我在大学里接受的设计项目是我见过的最好的。有了项目帮助和课堂讲稿,你所需要的就是在网站上

其基本思想是,在光线跟踪器中很容易产生非常微妙的错误,特别是当你涉及到折射等问题时。如果只是在空间中随机创建一组球体,那么很难验证正确性或诊断错误

因此,有一个解析器可以很容易地合并到您自己的代码中,还有一堆诊断场景文件。第一个文件是最容易工作的(眼睛在原点,向下看一个轴,一个球体),如果你能正确地渲染它们,你几乎可以保证有一个正常工作的光线跟踪器

此外,是Pixar的标准场景文件格式,可以从几乎任何建模器导出


它还探索了分布式光线跟踪和路径跟踪,这可以给你一些帮助。

如果你想找一本好书,让你从一无所有变成可以生成图像的工作代码,我从Andrew Glassner的开始。我现在不能去亚马逊,但这是我的地址

巧合的是,这实际上是一本书和一个问题领域,它把我介绍给了面向对象设计。孩子,那是很久以前的事了


从这里开始,我建议大家继续阅读皮特·雪莉的书,正如这本书似乎暗示的那样。实际上,一个更好的建议是参加他的光线追踪课程。这对我有用

几年前,有人向我提出挑战,要我做一个A的Delphi端口(不到200行C代码)


我,也许有一天我会回到C#。

我找到的最好的一个是:
本教程确实有点快,但它涵盖了光线跟踪的许多方面。

这是一个工具,可能有助于理解和可视化光线跟踪的一般概念:

这是一个模拟器,我建立了图形课程,我教。它不是将3D场景渲染为2D图像,而是将2D场景渲染为1D图像,这样可以一次可视化整个算法,让您实时修改场景的参数

我强烈建议您阅读关于它们的教程,它们会花时间解释事物背后的物理和数学,但也会提供优秀的代码示例

在实现我自己用Java编写的光线跟踪器时,我使用了他们的许多教程:

在一个周末内进行光线跟踪

是一个系列的三本书,从初级到高级技术。这是一个光线跟踪器(用C实现)教程,有很多图表和解释

格拉斯纳的书(雷的简介)