7

我注意到一些顶尖大学正在开设课程,让学生在其 CS 专业中学习与计算机图形相关的科目。可悲的是,这是我的大学没有提供的东西,我真的很想在未来几年的某个时候进入。

我从一些大学找到的一些项目很棒,尽管我最感兴趣的是两件事:

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

很抱歉发布了如此含糊的问题,说实话,愚蠢的问题。这只是我一段时间以来一直想做的事情,而且作为一个大型项目,我可以在自己的时间里进行开发。

相关问题

4

7 回答 7

8

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

于 2009-02-20T18:44:36.857 回答
4

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

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

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

于 2009-01-15T16:55:47.180 回答
2

2000年 ICFP 编程竞赛要求参与者在三天内构建一个光线追踪器。他们对简单的光线追踪器有很好的规范,您还可以获得获胜条目和其他一些条目的代码。有大量不同编程语言的条目。这可能是您入门的好方法。

于 2009-01-15T03:43:06.763 回答
1

我能给出的最简短有用的答案是,大多数重要的算法都可以在Tomas Akenine-Möller、Eric Haines 和 Naty Hoffman 的Real-Time Rendering中找到,并且最后的参考书目引用了必要的数学。他们的网站也有推荐阅读清单。

我读过的关于该主题的最有用的数学书是 Eric Lengyel 的《3D 游戏编程和计算机图形学数学》。您最需要的数学是几何(显然)和线性代数(用于处理所有矩阵)。

于 2009-01-15T03:09:20.453 回答
0

去年我上过这样一门课,我相信这门课非常适合强迫学生学习计算机图形背后的数学——而不仅仅是让计算机做你想做的事情的命令。

我的教授在这里有一个网站,里面有他的讲义和习题集,你可以浏览一下。

我们的最终项目确实是一个光线追踪器,但是一旦你了解了它背后的数学原理,编码(一个低效的)就变得微不足道了。

于 2009-01-15T16:47:21.783 回答
0

有关这些主题的数学介绍,请参阅

http://graphics.idav.ucdavis.edu/education/GraphicsNotes/homepage.html

于 2009-01-15T20:27:57.827 回答
0

检查http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-1-writing-a-simple-raytracer/

这是一个学习光线追踪和渲染的好地方。

于 2013-06-25T23:39:06.003 回答