对于光线追踪场景中的任何物体,只要有了求交算法以及法线算法就可以渲染。
virtual
int
intersect(
const
Ray
&
ray,
float
&
distance )
=
0
;
virtual
Vector3 getNormal(Vector3
&
pos)
=
0
;
为了适应三角形带的渲染,把三角形的数据结构定义为:
Vector3 vertex[3];
Vector3 normal[3];
由于暂时还不考虑支持贴图,光线追踪插件在读入3DS文件的时候只处理了顶点数据(0x4110)和面数据(0x4120)。目前对法线的计算是根据三角形所在面来确定的,并没有考虑临近三角形的影响。所以渲染出来的图显得很生硬。接下来的工作就是重新计算三个顶点的法线数据,另外优化速度。

本文属Span Zhang(张友邦)原创,转载请注明出处。
中国原创分形艺术、中国原创分形软件第一站
本文介绍光线追踪中三角形的渲染方法,包括求交算法与法线计算。为了优化渲染效果,计划改进法线数据计算方式,使其更加平滑。
1019

被折叠的 条评论
为什么被折叠?



