It is still work in progress, and I will post any interesting results here. You can also request some cool feature, and I will implement it if time allows. You are also welcome to star it as it will motivate me for putting more time into it :). Stay tuned!
In these days, I read about Minecraft's data formats from wiki, then tries to parse them from scratch (it is fun to not use any third-party libraries, isn't it?). At last, I managed to parse 1.13 NBT tags and JSON files correctly, cheers! There are no interesting things to show yet -- currently all outputs are in an ugly little console window, but a debug render can be expected soon.
If you are interested in my code for parsing 1.13 NBT and JSON files, here it is
One of the most joyful moments of graphics development is when something make sense finally appeared on your screen. To render this image, i used an HDR environment map for lighting, and simply turned any non-air blocks into gray cubes. The scene is then converted to a custom format designed by me (.p2 format) for rendering. The parse-convert-render pipeline is still in its early stage, and I will continue to add more functionalities into it. Here is the debug render:
Recently, development time has been poured into core engine refactoring and debugging, which results in higher performance and more stable program execution!
The file size of the converted scene is, however, starting to be a problem. It takes a whopping 1.7 GB disk space to store a region (that is, 32x32x16 chunks), and consumes more than 20 GB of memory for rendering. This is clearly unacceptable, and applying an approximated invisible block culling algorithm gives only ~10% reduction in disk usage. I will keep on trying to solve this in the future.
At last, I am able to parse the player's in-game position and direction, which gives me the ability to render the scene from the player's point of view. The images are attached.