zoukankan      html  css  js  c++  java
  • MineCraft? Nope, My Craft!!!

    这是一个Minecraft-Like Style的记录。均以图片展示:

    reference:TechCraft

    http://techcraft.codeplex.com/

    说明:这个项目的下面的介绍给的图片看起来做的还不错,但是实际上里面的代码的效果却(还是看图吧):

    techcraft项目的效果图(左),代码编译后的实际效果(右)

    snowcap.png 

    明明就是两个完全不一样的东西嘛,这差得还真是蛮多的。

    查看代码发现:这个项目构建区块(一个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

    下了代码,头都晕了,我也就看了他说的如何实现的。

  • 相关阅读:
    客户数据库出现大量cache buffer chains latch
    Oracle 表空间与数据文件
    一些优秀的个人空间
    DBMS_STATS.GATHER_TABLE_STATS详解
    C#获取主程序目录的方法
    python 里的 continue 和 break 语法理解
    Python 打印九九乘法表
    数据可视化平台 Apache Superset 安装
    jinja2.Markup 对HTML文本文件进行处理
    Chrome Console 控制台使用指南
  • 原文地址:https://www.cnblogs.com/kalluwa/p/4712968.html
Copyright © 2011-2022 走看看