1.一种基于多细节层次模型的面光源照射三维场景画面渲染方法,其特征在于:在创建三维场景时,针对同一个三维场景,生成一个正常细节层次三维场景模型A001和一个低细节层次三维场景模型A002;在用光线投射技术渲染三维场景直接光照画面时,需要计算从视点发出的光线与三维场景的几何面片的离视点最近的交点;在计算交点处的直接来自面光源的光照贡献时,需要对面光源进行采样生成一系列光源采样点,并测试交点与各光源采样点之间是否直接可见;根据正常细节层次三维场景模型A001中的几何面片计算从视点发出的光线与三维场景的几何面片的交点,根据低细节层次三维场景模型A002中的几何面片测试交点与各光源采样点之间是否存在遮挡,即测试交点与各光源采样点之间是否直接可见;本方法的具体实现步骤如下:步骤Step101:在创建三维场景时,针对同一个三维场景,生成一个正常细节层次三维场景模型A001和一个低细节层次三维场景模型A002;
步骤Step102:把正常细节层次三维场景模型A001和低细节层次三维场景模型A002加载到计算机内存中;在计算机内存中,创建一个包含M行、N列元素的二维数组IMG,M为虚拟相机的虚拟像素平面上的像素行数,N为虚拟相机的虚拟像素平面上的像素列数,二维数组IMG的元素用于保存虚拟相机的虚拟像素平面上的像素的颜色值;二维数组IMG的元素与虚拟相机的虚拟像素平面上的像素一一对应;
步骤Step103:根据虚拟相机参数,从视点发射穿过虚拟相机的虚拟像素平面上的各个像素A003的光线A004,光线A004与虚拟像素平面上的像素A003一一对应;针对每条光线A004,执行如下操作:步骤Step103‑1:计算光线A004和正常细节层次三维场景模型A001中的几何面片的离视点最近的交点A005;
步骤Step103‑2:按照面光源照射三维场景直接光照的蒙特卡洛估计方法,在三维场景中的面光源上产生Num个采样点A006,并根据这Num个光源采样点A006对交点A005的直接光照贡献来估计面光源对交点A005的直接光照贡献IDIR;其中,每个光源采样点A006是否能对交点A005产生直接光照贡献取决于光源采样点A006与交点A005之间是否直接可见,只有当光源采样点A006与交点A005之间是直接可见时,光源采样点A006才对交点A005产生直接光照贡献,相应的针对每个光源采样点A006的光源可见性测试方法是:构造以光源采样点A006和交点A005为端点的线段A007,判断线段A007和低细节层次三维场景模型A002中的几何面片之间是否有除线段A007的端点外的交点,如果有,则光源采样点A006与交点A005之间不是直接可见,否则光源采样点A006与交点A005之间是直接可见;
步骤Step103‑3:计算光线A004对应的虚拟像素平面上的像素A003在虚拟像素平面上的行号nRow和列号nCol,把直接光照贡献IDIR转换成颜色值保存在二维数组IMG的第nRow行、第nCol列元素中;
步骤Step103‑4:针对光线A004的操作结束;
步骤Step104:把二维数组IMG中的虚拟相机的虚拟像素平面上的像素的颜色值转换成三维场景画面图像文件保存到计算机硬盘中。