对于光线追踪场景中的任何物体,只要有了求交算法以及法线算法就可以渲染。
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
为了适应三角形带的渲染,把三角形的数据结构定义为:
Vector3 vertex[3];
Vector3 normal[3];
由于暂时还不考虑支持贴图,光线追踪插件在读入3DS文件的时候只处理了顶点数据(0x4110)和面数据(0x4120)。目前对法线的计算是根据三角形所在面来确定的,并没有考虑临近三角形的影响。所以渲染出来的图显得很生硬。接下来的工作就是重新计算三个顶点的法线数据,另外优化速度。
本文属Span Zhang(张友邦)原创,转载请注明出处。
中国原创分形艺术、中国原创分形软件第一站