几个月前面试时Boss问过我一个问题--“除了scanline渲染方法,你还知道什么其他渲染方式?”,我没答出来,至今记忆犹新。
前段时间摆弄Intel VTune时看了它的示例代码,是一个十分精巧的C语言写的ray tracer,醒悟过来这应该就是那个问题的答案。光线跟踪的渲染流程跟扫描线光栅化算法完全不同,很简洁自然,而且:(1)从简单的局部光照做到加入全局光照,最终甚至能达到照片级效果。(2)每条光线的计算都是独立的,所以利于实施多线程。
这真是一个相当有意思的课题,无疑对数学知识是个相当大的锻炼。我决定接下来的业余时间来研究下Ray tracing这个奇妙的东东,下面是我在软渲中加入的无比简陋的prototype,working on it now!