这是一个Minecraft-Like Style的记录。均以图片展示:
reference:TechCraft
http://techcraft.codeplex.com/
说明:这个项目的下面的介绍给的图片看起来做的还不错,但是实际上里面的代码的效果却(还是看图吧):
techcraft项目的效果图(左),代码编译后的实际效果(右)
明明就是两个完全不一样的东西嘛,这差得还真是蛮多的。
查看代码发现:这个项目构建区块(一个16x128x16)耗时长久,而且,所显示的范围十分狭小(只有5x1x5),但是从这里面了解基本minecraft中Cube的处理方式
找了一些资料尤其以这个:
https://github.com/fogleman/Craft
http://www.michaelfogleman.com/craft/
这个资料说到了AO的简便实现方式,还蛮有效果的:
下面是我到目前为止实现的效果:
加入AO
这个改到这里发现techCraft的代码实在是改不动了,太慢了(主要是IO),便直接扔掉,重新又从头开了一个新project:
这个动态生成地形:也就是无限大小的(uint最大值2^32-1是多少来着?4000万)(techcraft的小地形真是受够了)
直接纹理映射:
加入了AO:
来个洞:
可编辑(删除/添加)
(TODO:流体,光影,存储)
大家不要抱怨为啥视距这么小,因为我实在win8平板上写的代码的(不是surface),性能的话(60fps好像没问题), 而且显示范围大了,生成地图也要时间。
最后:
如果想知道细节实现的话,可以去上面提到的的链接上看(再写一遍):
https://github.com/fogleman/Craft
下了代码,头都晕了,我也就看了他说的如何实现的。