多年前在大学,我用C ++编写了一个光线跟踪器,但现在我几乎记不起它了。为了好玩,我决定再次尝试编写光线跟踪器,这次是在C#中。但遗憾的是,我正在努力开始从摄像机坐标到世界坐标的转换。
任何人都可以向我推荐一套从头开始编写光线跟踪器的好教程吗?我的数学知识非常基础,所以我需要重新学习矩阵乘法,以便计算屏幕上的一个点在3D空间中的位置以通过它投射光线。
与形状和阴影部分的交集,我想我可以解决,但我需要回到相机翻译的基础。
谢谢!
答案 0 :(得分:2)
我做了一个非常简单的光线跟踪器,如果你想查看一下c ++代码示例,这里就是链接。 a tiny ray tracer project
答案 1 :(得分:1)
我发现http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtrace0.htm很有用。它不会一直回到基础,但可能仍然有用(提示:如果你看到像我一样破坏字体字符,它就是一个点积)。
答案 2 :(得分:1)
不是在线教程,但Kevin Suffern的书Ray Tracing from the Ground Up非常详细。