计算机图形学:光线跟踪和3D渲染编程

Mik*_*e B 7 3d graphics programming-languages raytracing

我注意到一些顶尖大学正在开设课程,向学生们讲授CS专业的计算机图形学相关科目.可悲的是,这是我的大学不提供的东西,我希望在接下来的几年中进入某个时间.

我从一些大学找到的几个项目很棒,虽然我最感兴趣的是两件事:

  • 光线追踪:
    • 我想在未来两年内写一个Raytracer.我需要知道什么?我不是一个出色的程序员(Java,C和Prolog是我今天的主要语言),但我每天都在慢慢学习.另外,我的数学背景并不是那么好,所以任何阅读书籍的指针或编写这样一个程序的建议都会很棒.我倾向于快速选择这些东西,所以请随意查看我的参考资料.
  • 编程3D渲染模型
    • 我看了几个学生开发模型并在游戏中使用它们的项目.我已经制作了几个带有光栅图像的2D游戏,但从未使用过3D模型.在编程这些模型方面我需要学习什么?如果它有助于我以前使用3D Studio Max和Cinema4D(虽然每个课程似乎都使用Maya),但是在大约四年内没有触及它.

很抱歉发布这样模糊,让我们说实话,愚蠢的问题.这只是我一段时间想要做的事情,而且对于我来说,在我自己的时间里发展这个项目会很好.

相关问题

Ian*_*son 8

我可以推荐pbrt,它是一本书和一个用于教授计算机科学毕业生的基于物理的渲染器.所使用的数学的描述很好而且清晰,因为它是用'文字编程'编写的,所以你也可以看到适当的代码(在C++中).


Ken*_*ena 4

《计算机图形学:原理与实践》 (计算机图形学界称为“Foley-VanDam”)一书是大多数计算机图形学课程的基础知识,它详细介绍了实现光线追踪器的主题。它已经相当过时了,但它仍然是最好的,据我所知,并且基本原则保持不变。

我还赞同Eric Lengyel 的《3D 游戏编程和计算机图形学数学》的推荐。它不是那么彻底,但它是对 3D 编程所需的数学基础知识的精彩回顾,在每章末尾都有非常有用的总结,并且以平易近人、不太可怕的方式编写。

此外,您可能需要一些 OpenGL 或 DirectX 基础知识。开始使用 3D API,然后学习底层数学比相反(在我看来)更容易,但这两种选择都是可能的。只需在 SO 上查找 OpenGL,您就应该找到一些很好的参考资料。