魔兽争霸地貌拼接方式

先看图片

http://hi.csdn.net/attachment/201109/7/979141_1315404194Eh6m.jpg

 

每个块的图片由4周围4个脚的地貌计算得出。

算法如下。

1.地貌编号0-5,低编码的可以被高编码的覆盖。

2.每种地形图片中,设编码1-15.(0保留,和15其实是一回事),魔兽里面还有16-31的随机填充块,这里简化掉。

用位代表本块覆盖的角。比如左上,右上,左下,右下编码为,1,2,4,8

由此,1-15代表了地形的各种覆盖方向.

3.计算本块图层方法。

排序4个角,并去掉重复的数字,存为数组A,此时留下n个不同的地貌编号。(n=1到4)

for(int i=0;i<n;++i)

 计算等于A[i]角的编码和,存到tile[i];

4.绘制时,对每个tile,绘制0-n层。

比如左上(0,0)块,其周围4个角的地貌编码为

0, 0

5, 5

所以tile[0]=0x00+0;tile[1]=0x500+12

 

最下一层你要计算编码也可以,我这里这么做是为了防止底层遮盖不完全,留出空洞。所以底层完全填充。

 

因为每个块只有4个角,所以每块贴图次数是1到4,d3d的话,4层贴图搞定。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值