- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 Chapte6 Spatial Sorting
<br /><br />第六章 Spatial Sorting<br />Spatial Sorting的两个目的:<br />(1) 便于不透明物体从前往后的绘制,半透明物体从后往前的绘制。<br />(2) 按Render State相似性排序,以减少RenderState改变的次数。<br /> <br />一,BSP树<br />该法用于粗略的空间排序。<br />BSP类基于Node类,有3个子节点:positive,negative,和middl
2010-10-27 22:42:00 1154
原创 18.5 reference counter
<br /><br />一.作用:共享类时,用于标记类被共享的次数。每被一个类共享,rc++;每有一个类结束共享,rc--;当rc=0时,被共享的类才被销毁。这避免了:<br />1. 某类已无共享,但仍留在内存中。<br />2. 某类仍被其他类共享,却被提前销毁。<br />模型,render state 均可被共享。<br />一般通过智能指针来管理rc。<br />Object 类的两个内容:1。Run time typeinformation;(用于存储类的类型)<br />
2010-10-27 22:41:00 784
原创 4.7 Scene Graph Compilers
<br /><br />说明:Scene Graph最终是以数据结构的形式呈现的,此种数据结构是为了方便场景的管理,即为了方便从3D建模工具导出这样的结构,以方便游戏的开发。但有得必有失,管理的方便使得这种数据结构并不适合计算机的图形系统,如内存上的分散,不能很好的支持chche等。因此有必要使用一些工具对数据结构进行优化以适应各种各样的要求。这些工具统称<br />Scene graph compilers。<br /> <br /> <br />Compiler有多种用途,现简述如下:<br />(
2010-10-27 22:40:00 668
原创 4.6the Drawing Pass
<br /><br />一些疑问:为什么在对RenderState进行更新时,不对EFFECT进行更新?<br /> 为什么不把Global Effect直接存在Geometry中而是存在索引表中?<br />该部分没有什么可讲的,前面几章已有所渗透,现简要概括大致框架。<br /> 创建Culler<br /> ↓<br /> 创建Cam
2010-10-27 22:39:00 612
原创 4.3RenderState及其更新
<br /><br />主要的RenderState分为global state,lights和effects。<br />一,抽象基类GlobalState<br /> 该类为一个抽象基类,所有的全局状态类型如alpha blending,triangle culling,material,polygon offset,stenciling,wireframe,depth buffering等都要基于该类创建。Node,Geometry均有相关接口用于global state的存储,加载和移除。
2010-10-27 22:36:00 1699
原创 4.5the Culing Pass
<br /><br />在WM4中,culling pass和 drawing pass是分开的,负责该流程的三个核心类是VisibleObject,VisibleSet,Culler。下面一一详述。<br />一,VisibleObject<br />该类实际上是一个结构类,有两个public成员:Spatial*Object和Effect*GlobalEffect<br />前者用于存储单个的潜在可见的物体,后者用于存储与Node节点相关联的globaleffect。(在绘制中大有作为)。<
2010-10-27 22:36:00 665
原创 4.2 Geometric State及其更新
<br /><br />与此相关的四个基本类是 vertexbuffer,index buffer,transformations和boundingvolumes。<br />一, VB 和IB<br /> VB包含了position,color,texture coordinates,normals,IB包含了点的邻接信息。VB和IB共同组成geometric primitive,它可以是点集,多边形,和三角网格等。Geometry类便是其容器。<br />二, Transfor
2010-10-27 22:34:00 618
原创 4.1 scene graph构建的基本问题
<br /><br />一,概述<br />Scene graph的目的是组织物体。<br />两个原则:1。空间从属关系(树)<br /> 2.Render State的相似性。<br />原则一是为了快速剔除大批不可见物体。<br />原则二是为了减少RenderState的频繁改变。<br />二者均可使游戏速度大大提高。<br />原则一通过空间划分实现(boundingvolumes),原则通过排序实现。<br />然而两个原则是互不兼容的。若按RS排序,物体必然会分
2010-10-27 22:32:00 921
原创 chapter2图形系统2.4标准物体和基于包围体的剔除
<br /><br />注:标准物体为第十章内容。<br /> <br /> <br />剔除是指去掉完全位于视景体之外的物体。<br />剔除分为背面剔除和物体剔除。<br />标准物体包括线(直线,射线,线段),面,AABB,OBB,椭球体,圆柱体,圆锥体,球移动体。<br />一,背面剔除。<br />这里的面指的是单侧面,即只有朝外的面可见,另一面朝向物体内侧(不透明物体),不可见。<br />1.基本思路。<br />假设平面的方程为,视点的世界坐标为E。则当平面法向量指离观察者时,点E位于平
2010-10-27 22:29:00 958
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人