第5章三维场景的组织与绘制bcsq.pptx





《第5章三维场景的组织与绘制bcsq.pptx》由会员分享,可在线阅读,更多相关《第5章三维场景的组织与绘制bcsq.pptx(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三维场景的组织与绘制一一.三维场景的组织与管理三维场景的组织与管理n场景图是一种将场景中的各种数据以图的形式组织在一起的场景数据管理方式。n它是一个K-树,场景图中的每一个节点都是数据的存储结构,父结点会影响子结点。n每个节点信息包括:(1)场景的组织结构信息,如父节点或子节点的句柄;(2)支持绘制流程的各种信息,如节点在当前帧中是否绘制的标识,节点的包围体等;(3)描述表现自身所需的各类特征属性信息,如位置坐标、变换矩阵以及颜色、材质等。1.基于场景图的表达与管理基于场景图的表达与管理场景图oBVH是最常用的数据结构n简单容易理解Simpletounderstandn编程简单o不过它仅仅存储
2、几何信息n绘制不仅仅是几何信息o场景在BVH基础上扩展了:n光照(Lights)n纹理(Textures)n变换(Transforms)n更多.例:o模拟一个星系n恒星|旋转/行星1行星|旋转旋转/卫星A卫星B卫星C卫星Do渲染恒星保存当前矩阵应用第一个旋转渲染行星1保存当前矩阵运用第二个旋转渲染卫星A渲染卫星B恢复我们保存的矩阵渲染行星2保存当前矩阵运用行星2的旋转渲染卫星C渲染卫星D恢复我们保存的矩阵恢复我们保存的矩阵n恒星|旋转/行星1行星|旋转旋转,摇摆/卫星A卫星B卫星C卫星D行星A摇晃n渲染恒星保存当前矩阵应用旋转保存当前矩阵运用摇晃渲染行星A保存当前矩阵 运用旋转渲染卫星A渲染卫
3、星B恢复矩阵恢复矩阵恢复矩阵运用旋转渲染行星2保存当前矩阵运用行星2的旋转渲染卫星C渲染卫星D恢复我们保存的矩阵恢复我们保存的矩阵n场景绘制过程o根据游戏的需要,更新场景中的部分结构,从下到上;o场景图的剔除绘制过程:o要修改一个行星的位置,只需修改星结点的属性,不更改任何子节点的属性.o场景图一般包含下列节点:n几何节点n变换节点o平移,旋转,缩放n开关节点通过当前状态对子节点进行选择的节点o把场景中的物体按照绘制状态分类,对相同状态的物体设置一次状态;o状态切换是一个比较耗时的运算;o绘制状态包括:n纹理映射的参数设置n材质参数,包括泛光、漫射光等n各类其他渲染模式:多边形插值、融合等o半
4、条命2.基于绘制状态的场景管理基于绘制状态的场景管理o建立状态树n按状态集进行排序n遵照“尽量使状态转换最少”o按深度优先遍历状态树,依次绘制o由于可见性检测、求交、碰撞等都可归结为空间关系的计算。o对每个物体建立包围体;o对场景建立包围体层次树;o快速判断一个点是否在物体的凸包围体中。3.基于景物包围体的场景组织基于景物包围体的场景组织o常用的场景物体包围体n包围球nAABB包围盒nOBB包围盒n平行六边包围体nK对平行六面包围体二二.优化场景绘制的几何剖分技术优化场景绘制的几何剖分技术常用的三种:o1.BSP树(二叉空间平分树)n应用于深度排序,碰撞检测,绘制,节点裁减和可见性判断,加速三
5、维场景的漫游;n空间中的任意平面把空间分成两部分:一份为二地空间剖分方法;n一直递归下去,结束的条件:o空间中没有物体了;o剖分的深度达到了指定的数值就停下oBSP树的建立n先对物体建立包围体结构,然后以包围体为单位建立场景的BSP树;n剖分方式:o均匀剖分:适于场景中物体分布均匀o平行坐标轴剖分:室内游戏o选取场景中面积最大和遮挡物体最多的面:判断物体与剖分面的关系稍负责BSP(BinarySpacePartitioning)树o两种类型:n沿轴(Axis-aligned)n沿多边形(Polygon-aligned)o总体思想:n用平面划分多边形n把几何排序后存放到它所属的空间n递归,直到都
6、完成o如果按某种方式遍历,可以得到沿一个轴排序的几何n对于沿多边形的方法很准确n沿轴的方法则结果是近似的沿轴BSP树(1)o仅能沿x,y或产生一个分裂面最小的 box沿面分裂沿面分裂沿面分裂沿轴BSP树(2)o每个内部节点拥有一个分割面;o叶子具有几何信息o与BVH比不同n提供闭合空间,并且有序nBV层次能用任何方式构造(无序);nBVHs能够使用任何所需要的BV类型ABCDEPlane 0Plane 1aPlane 1bPlane 201aAB1bC2DE沿轴BSP树粗略排序o沿视点测试平面o从根递归测试o继续从当前面从前向后排序eye01aAB1bC2DE11a1b202345l沿多边形B
7、SP树用同样的方法-但给的是准确排序oBSP树的遍历:n深度优先n广度优先oBSP树局限性:n不太适合动态场景n构造时间长n常用于地形绘制;n以包围四边形逼近场景,然后迭代地一分为四。o均匀剖分:适于场景中物体分布均匀o平行坐标轴剖分:室内游戏o选取场景中面积最大和遮挡物体最多的面:判断物体与剖分面的关系稍负责n最大的优点:层次剔除o 2.四叉树四叉树n长方体递归地剖分为八个长方体;n构建时间比BSP树短,容易使用。n常用于视域裁剪、碰撞检测。o 3.八叉树八叉树比较技术名称适用场景构建复杂度实用性二叉树尺寸不大的室内场景复杂大部分游戏引擎四叉树室外地形一般仅用于地形绘制八叉树大规模室内空间场
8、景一般复杂游戏引擎均匀八叉树分布均匀的三维场景简单少量三维游戏引擎三三.游戏场景的几何优化游戏场景的几何优化o空间数据结构用来加快渲染和各种查询o为什么需要更快的速度?o图形硬体6个月速度翻倍!o我们总不满足n屏幕分辨率:3000 x1500n真实感:全局光照n几何复杂度:无上界!场景的几何优化oLODn在不影响画面视觉效果情况下,逐步简化景物表面的细节来减少场景的几何复杂性;n四类:o简单取舍型n设置阈值,小于则不绘o平滑过渡型n大于上限,正常绘制;小于,不绘;中间,线性过渡o静态LOD型n预计算同一物体的多个不同精度的版本,根据不同距离切换使用不同的物体n跳跃:增加雾化效果1.层次细节技术
9、(LOD)o动态LOD型n在场景漫游过程中动态地根据相机的位置和物体的重要性动态简化网格;n简化算法:基于顶点的删除基于边的删除:定义代价函数,删除代价最小的边基于面的删除o渐进网格和连续多分辨率绘制l在不同的距离处(从视点)使用不同的层次细节l离视点更近出,使用更多的三角形o目的:n有些看不见的可以不绘制n从而加快绘制速度2.快速可见性判断与消隐o类型类型n物体层的算法:场景聚类技术o决定相对于视点面的前后排列o二叉树和八叉树,入口技术,潜在可见集,单物体分块n顶点层算法:顶点剔除算法o背面剔除o视域剔除o裁剪面剔除n象素层的算法:图像空间排序o深度缓冲消隐o层次缓冲消隐o时空连贯性不同的剪
10、切技术view frustumdetailbackfaceportalocclusiono基于入口技术的可见性判断n适用于室内游戏n根据单元与单元之间的邻接图,通过深度遍历建立单元与单元的入口序列,从而得到单元对单元的可见性集合。n入口技术的优点:o方便定义场景:可方便地动态创建和修改场景o快速绘制基于入口技术的裁剪基于入口技术的裁剪Images courtesy of David P.Luebke and Chris Georgesl平均:裁减去 20-50%多边形l加速:from slightly better to 10 times基于入口技术的裁剪举例基于入口技术的裁剪举例l上面的建筑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维 场景 组织 绘制 bcsq

限制150内