PagedGeometry 笔记02


1. 多重视域

PagedGeometry *trees = new PagedGeometry(mCamera,50);
trees->addDetailLevel<BatchPage>(150,30);
trees->addDetailLevel<ImpostorPage>(400,50);

PagedGeometry *bushes = new PagedGeometry(mCamera,40);
bushes->addDetailLevel<BatchPage>(80,20);
bushes->addDetailLevel<ImpostorPage>(160,40);

TreeLoader3D *treeLoader = new TreeLoader3D(trees,TBounds(0,0,1500,1500));
trees->setPageLoader(treeLoader);

TreeLoader3D *bushLoader = new TreeLoader3D(bushes,TBounds(0,0,1500,1500));
bushes->setPageLoader(bushLader);

2. 添加树和灌木

treeLoader->addTree(treeEntity,pos,yaw,scale);
bushLoader->addTree(bushEntity,pos,yaw,scale);

3. 每帧更新几何页面

trees->update();
bushes->update();

Note:
1. 树的可见度,可达800米。而灌木、岩石等只有一两百米。
2. 在虚假页面明显暴露之前,应尽量把批页面范围降低到最小。
3. 当取近景理想FPS时,如果快速的相机移动导致帧跳动,说明页面太大。
这时,应降低页面大小或启用包围模式。(setBounds())

4. 使用TreeLoader3D时,y = getTerrainHeight(x,z)来计算地形高度。
而TreeLoader2D可以设置高度函数,从而在addTree时,只接受x,z坐标。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/eplaylity/archive/2009/05/26/4217304.aspx


优质内容筛选与推荐>>
1、Object-C——Xcode 4.2IDE开发iPhone程序
2、wamp 提示 Directive allow_call_time_pass_reference is no longer avaiable in PHP
3、【随笔】关于函数的一些东西
4、为什么XGBoost在机器学习竞赛中表现如此卓越?
5、最短路和差分约束


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号