OGRE几何学习记录

1. quad-based objects

粒子系统、公告栏、跟踪轨迹、表层、天空盒、天空面、穹顶

由四边形面片构造,没有相关的模型,仅拥有纹理和生命周期

会把带有纹理的一面一直朝向摄像机


天空面、天空盒、穹顶:

总是和摄像机保持固定的距离;

默认在所有场景物体渲染前渲染,可以之后渲染;

其纹理与其他活动纹理没有本质区别;

可以通过场景管理器开关,也可以重新设置与摄像机的距离


天空面:

一个平面,可以通过场景管理器分解成多个片段,并控制弧度


穹顶:

5个面,没有底的盒子

盒子下部的纹理会因曲率过大失真,地平面高度要高于这些失真

通过调整纹理坐标产生弧度效果,弧度低,天空平坦,适合室外场景,弧度高,陡峭,适合室内场景所看到的天空

每个半盒与摄像机距离固定,距离不宜太近,会覆盖场景中的区域


可以通过活动纹理产生浮云效果


天空盒:

天空盒不是穹顶加一个底面,没有“弯曲”纹理坐标的能力

使用立方体纹理技术“平铺”

潜在利用硬件对立方体纹理的加速功能


|----渲染对象 rendering objects:帮助进行渲染,摄像机、灯光

|

|----可渲染对象 renderable objects:场景中的物体


摄像机:

定义产生6个面组成的视截体,近截面、远截面,ogre利用这6各面剔除不可见的物体(图形硬件使用他裁掉 盒子外 一定粒度的几何图形(多边形级别)

摄像机一般直接放置在场景中,默认0,0,0;也可以挂接场景节点,但要关闭“锁定偏移轴(use fixed yaw axis)”,否则摄像机会维持固定向上状态,无法滚动


灯光:

一般被绑定到某些场景节点,产生特殊效果,如车灯

灯光拥有类型、位置、强度属性

由于计算强度原因,灯光只能用于物体的局部辐射光照算法,即不考虑所有光源,特别是其他物体的反射光、光线追踪和光能传递

ogre支持环境光吸收算法 ambient occlusion (AO)------准全局辐射度算法模型


局部光照算法:通过物体表面法线和材质属性,计算光照最终在摄像机中的表现,计算出颜色值给显示器输出

 每个渲染通路只能使用一定数目的光照,通常8个

更多 灯光需要更多的 渲染通路,会导致渲染效率下降


ogre的灯光模型:

点光源,聚光灯光源Spot,有向光源 Directional

都有自身颜色,被用于最终的颜色计算;都可以移动,但有向光源没实际意义

点和聚光灯会对距离的增加进行衰减,可设置衰减系数(常量、线性、二次),还可以设置影响范围,范围之外的物体不会得到光照


点光源:向周围辐射,模拟辐射光,壁灯、台灯

聚光灯光源:有方向特性,锥形作用范围,可分外锥和内锥,内锥光线线性衰减,外锥光线可叠加衰减,模拟摩托车前灯


有向光:

模拟太阳广,没有衰减,任何与衰减有关的参数都会被忽略,模拟太阳光


世界地图 World Geometry:

即场景中所有固定的物体,如高度场地图、网格地图、建筑景观、固定的门窗,除了 movable object之外的所有东西

地形和室外场景一般被“分割”,载入时才“缝合”

对以网络模型为基础的场景,需要分割,否则即使只有一小部分需要显示,ogre也会渲染整个模型的全部


ogre的空间分割:

建立在物体粒度上,而不是多边形上,即每个自空间有多少个几何体才能达到稳定、内含多少个可活动的物体、期待的密度和如何布置他们。


四叉树:quadtree

经典的2D分割,适合垂直高度变化小的室外场景或地形


八叉树:octree

适合小型室外场景,即一个立方体被一分为8个


四叉树、八叉树更擅长把多边形打包成集合体进行分割


BSP二叉空间分割树 binary-space partitioning:

场景组织很有效,但目前一般被用于快速碰撞检测


GPU:现代的GPU适合渲染少量巨大的物体,而不是很多小几何片段,比如100w个三角面捆绑成一个簇 cluster 能达到300帧,但分布在1000个簇里,就降低到30帧。

所以可渲染面数不是性能的唯一标准

但是,

1. 巨大的静态物体不能在每一帧都被构建,

2. 静态几何体按材质分类,材质相同的放到同一个簇中,不同材质的物体仍然会被分成不同的簇,效益需要根据材质进行平衡

3. 静态几何体,不能单独移动

4. 活动物体可以共享 一个网络模型,静态物体一般每个实体一个网格模型

5. 即使视截体只看到静态几何体的一小部分,但整个静态几何体数据都会被传到图形硬件中渲染

6. 当距离改变时,整个静态物体的LoD会改变

静态物体的好处:

场景管理器会通过空间分割算法把静态集合体分组,把没有在显示空间的静态几何体直接剔除出渲染队列















©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值