野猪世界
server ogre cegui bullet python lua
新随笔
联系
管理
libnoise 的一些改动
让Ogre的地形能自动产生连续随机高度的方法 用到libnoise 发现其生成函数似乎有些不合适
对其实用工具的一些改动
1
void
NoiseMapBuilderPlane::Build ()
2
{
3
if
( m_upperXBound
<=
m_lowerXBound
4
||
m_upperZBound
<=
m_lowerZBound
5
||
m_destWidth
<=
0
6
||
m_destHeight
<=
0
7
||
m_pSourceModule
==
NULL
8
||
m_pDestNoiseMap
==
NULL)
9
{
10
throw
noise::ExceptionInvalidParam ();
11
}
12
13
//
Resize the destination noise map so that it can store the new output
14
//
values from the source model.
15
m_pDestNoiseMap
->
SetSize (m_destWidth, m_destHeight);
16
17
//
Create the plane model.
18
model::Plane planeModel;
19
planeModel.SetModule (
*
m_pSourceModule);
20
21
double
xExtent
=
m_upperXBound
-
m_lowerXBound;
22
double
zExtent
=
m_upperZBound
-
m_lowerZBound;
23
double
xDelta
=
xExtent
/
(
double
)(m_destWidth
-
1
) ;
24
double
zDelta
=
zExtent
/
(
double
)(m_destHeight
-
1
);
25
double
xCur
=
m_lowerXBound;
26
double
zCur
=
m_lowerZBound;
27
28
//
Fill every point in the noise map with the output values from the model.
29
for
(
int
z
=
0
; z
<
m_destHeight; z
++
)
30
{
31
if
(z
==
m_destHeight
-
1
)
32
zCur
=
m_upperZBound;
33
float
*
pDest
=
m_pDestNoiseMap
->
GetSlabPtr (z);
34
xCur
=
m_lowerXBound;
35
for
(
int
x
=
0
; x
<
m_destWidth; x
++
)
36
{
37
if
(x
==
m_destWidth
-
1
)
38
xCur
=
m_upperXBound;
39
float
finalValue;
40
41
finalValue
=
planeModel.GetValue (xCur, zCur);
42
43
*
pDest
++
=
finalValue;
44
xCur
+=
xDelta;
45
}
46
zCur
+=
zDelta;
47
if
(m_pCallback
!=
NULL)
48
{
49
m_pCallback (z);
50
}
51
}
52
}
53
实现无缝的地形高度拼接
posted on 2012-11-27 09:51
野猪红
阅读(621)
评论(0)
编辑
收藏
引用
所属分类:
Ogre
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Ogre Terrain LayerTexture 的混合方式
libnoise 的一些改动
ogre paging 的魔法
ogre 中的线程 workqueue
ogre 渲染流程
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(27)
Bullet(2)
C/C++ STL Python Lua(6)
CEGUI (1)
Linux
MySQL(1)
Ogre(5)
server(1)
Show Demo(5)
Unity3D
编辑器(1)
数学(1)
算法(3)
网络(1)
随笔档案
(25)
2014年1月 (2)
2013年12月 (1)
2013年5月 (1)
2013年1月 (3)
2012年12月 (1)
2012年11月 (4)
2012年6月 (1)
2011年12月 (2)
2011年4月 (2)
2011年1月 (1)
2010年8月 (3)
2010年7月 (1)
2010年6月 (3)
积分与排名
积分 - 21299
排名 - 785
最新评论
1. re: bullet setp 流程
很有用,谢谢博主。
--卢珏玟
2. re: c++ python twisted game server
百度pan的资源下架了:(
--python爱好者
3. re: 在ogre中寻路
评论内容较长,点击标题查看
--xqlily
4. re: mysql 字符集 草
果断废弃GB2312吧,随便一点国际化的挑战就会让成本激增
变长需求建议utf-8
定长需求建议unicode-16
--秒大刀
评论排行榜
1. 在ogre中寻路(1)
2. mysql 字符集 草(1)
3. bullet setp 流程(1)
4. c++ python twisted game server(1)
5. 通用的多线程处理模型(0)
6. 模型(0)
7. python c++(0)
8. wildpigEdit 再次起航(0)
9. stl 排序(0)
10. CEGUI 探讨 定制(0)
11. 二叉树 动态规划 回溯算法(0)
12. wildpig 初次show(0)
13. c# 材质编辑器(0)
14. 模板类的构造函数 =操作符重载(0)
15. 迷宫问题 回溯法(0)
16. ogre 渲染流程(0)
17. boost pool object_pool(0)
18. Lua 中调用C函数(0)
19. bullet 中的stepSimulation和MotionState(0)
20. tcp nagle算法(0)
21. ogre 中的线程 workqueue(0)
22. 3D 数学(0)
23. ogre paging 的魔法(0)
24. libnoise 的一些改动(0)
25. Ogre Terrain LayerTexture 的混合方式(0)