Ogre地型数据生成渲染数据流程
2011-09-16 10:59
134 查看
作个总结,方便代码阅读:
1. 代码入口TerrainSceneManager::setWorldGeometry(), 此函数主要有2个重要任务:a、根据Terrain.cfg加载地型配置信息,b、加载高度图数据。
2. 初始化分级索引缓冲 initLevelIndexes()
3. calculateWorldRange --------------> 调用 resize(AABB) 重新计算世界范围
4. 设置分页材质 HeightmapTerrainPageSource::setupTerrainMaterial 取代 TerrainSceneMgr::setTerrainMaterial , 因为这里使用PagedGeometry来管理超大地型, 分页加载
等,故每页可以有自己的材质
5. setupTerrainPages 设置地型分页
6. _firePreRequestPage()
mActivePageSource->requestPage() [重点]
_firePostRequestPage()
7. 细分 requestPage()
a、读取HeightData
b、firePageConstructed()
c、核心: buildPage()
1. 首先构建真正的TerrainPage
2. 构建场景结点容纳新的Page
3. 根据新的Page及TileSize构建Tile(也就是渲染数据TerrainRenderable) 我的配置是: PageSize 128 x 128 TileSize 64 x 64
a. 子结点挂Tile b. setMaterial c. page->tiles[p][q] = tile 关联Page d. node->attachObject(tile) 关联场景结点
8. 加载地型页挂载的其它静态物件(如:树、草、水等) Page->loadPageMovable()
1. 代码入口TerrainSceneManager::setWorldGeometry(), 此函数主要有2个重要任务:a、根据Terrain.cfg加载地型配置信息,b、加载高度图数据。
2. 初始化分级索引缓冲 initLevelIndexes()
3. calculateWorldRange --------------> 调用 resize(AABB) 重新计算世界范围
4. 设置分页材质 HeightmapTerrainPageSource::setupTerrainMaterial 取代 TerrainSceneMgr::setTerrainMaterial , 因为这里使用PagedGeometry来管理超大地型, 分页加载
等,故每页可以有自己的材质
5. setupTerrainPages 设置地型分页
6. _firePreRequestPage()
mActivePageSource->requestPage() [重点]
_firePostRequestPage()
7. 细分 requestPage()
a、读取HeightData
b、firePageConstructed()
c、核心: buildPage()
1. 首先构建真正的TerrainPage
2. 构建场景结点容纳新的Page
3. 根据新的Page及TileSize构建Tile(也就是渲染数据TerrainRenderable) 我的配置是: PageSize 128 x 128 TileSize 64 x 64
a. 子结点挂Tile b. setMaterial c. page->tiles[p][q] = tile 关联Page d. node->attachObject(tile) 关联场景结点
8. 加载地型页挂载的其它静态物件(如:树、草、水等) Page->loadPageMovable()
相关文章推荐
- 大数据可视化之矢量切片的生成及渲染
- C#也能动态生成Word文档并填充数据
- java 生成 树形结构数据(tree)
- Python测试用例生成脚本(合并相应单元格以及写入单行数据)代码实例
- 数据库生成脚本-------创建语句的同时,把表中的数据也生成插入语句
- ArcGIS中用数据生成线和面的方法
- 通过Excel生成批量SQL语句,处理大量数据的好办法
- 记录:ajax获取数据动态生成select下拉选js部份
- 由数据库数据生成XML的方法
- 【PB】解决动态生成数据窗口时的文本乱码
- <Power Shell>05解决powershell3.0收集数据时候数组生成
- Wireshark之利用IO Graph分析数据并将数据复制到excel中生成图
- 任意语言,任意大小,任意字体,任意格式,任意范围,任意字符,任意扫描方式取模,生成字节,UNICODE_Font_宋体16_ 纵向取模下高位_数据排列_从左到右从上到下
- MSSQL数据表生成模型
- 根据所选择的 TrueType 字体生成点阵数据
- WCF 之 生成元数据和代理
- 巧用 ROW_NUMBER() 生成不重复的唯一排序码,按客户的需要任意排序数据
- 生成libSVM的数据格式及使用方法总结
- 机器学习算法的随机数据生成
- SQL日历表数据的简单生成