首页 文章

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

提问于
浏览
7

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

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

  • Raytracing:

  • 我想在未来两年内写一个Raytracer . 我需要知道什么?我慢慢地每天都在学习 . 另外,我的数学背景并不是那么好,所以任何阅读书籍的指针或编写这样一个程序的建议都会很棒 . 我倾向于快速选择这些东西,所以请随意查看我的参考资料 .

  • Programming 3D Rendered Models

  • 我've looked at a couple of projects where students have developed models and used them in games. I'已经制作了几个带有光栅图像的2D游戏,但从未使用过3D模型 . 在编程这些模型方面我需要学习什么?如果它有助于我以前使用3D Studio Max和Cinema4D(虽然每个课程似乎都使用Maya),但是在大约四年内没有触及它 .

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

相关问题

7 回答

  • 0

    "Computer Graphics: Principles and Practice"(在计算机图形界称为"Foley-VanDam")是大多数计算机图形学课程的基础,它涵盖了更详细地实现光线跟踪器的主题 . 这是相当过时的,但它仍然是最好的,afaik,基本原则保持不变 .

    我也是对Eric Lengyel's Mathematics for 3D Game Programming and Computer Graphics的建议 . 它是对3D编程所需的数学基础的精彩回顾,它在每章末尾都有非常有用的摘要,并且以一种平易近人的,不太可怕的方式编写 .

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

  • 8

    我可以推荐pbrt,它's a book and a physically-based renderer used to teach computer science graduates. The description of the maths used is nice and clear, and since it is written in the '识字编程'你也可以看到相应的代码(在C中) .

  • 0

    2000 ICFP Programming Contest要求参与者在三天内 Build 射线追踪器 . 它们具有良好的简单光线跟踪器规范,您还可以获得获奖条目和其他条目的代码 . 有大量不同编程语言的条目 . 这可能是您入门的好方法 .

  • 2

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

    最有用的数学书籍've read on the subject is Eric Lengyel'数学3D游戏编程和计算机图形学 . 你最需要的数学是几何(显然)和线性代数(用于处理所有矩阵) .

  • 1

    去年我参加了这样的课程,我相信课程非常适合强迫学生学习计算机图形学背后的数学 - 而不仅仅是让计算机做你想做的命令 .

    我的教授有一个位于here的网站,它有他的讲义和问题集,你可以看一看 .

    我们的最终项目确实是一个光线跟踪器,但是一旦你知道它背后的数学,编码(一个低效的编码)是微不足道的 .

  • 0

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

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

  • 4

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

    这是一个非常好的学习光线跟踪和渲染的地方 .

相关问题