In this installment of Chunky news I will discuss the current development progress and my plans for the future.
I recently uploaded a snapshot for the upcoming version 1.3.6. Version 1.3.6 which will include sign text rendering, bug fixes, and rendering for some new block types and previously unsupported blocks. The new entity rendering system allows me to implement rendering of some types of blocks which were really difficult to render previously, so that makes me really excited. However, I will not tackle more complex entities such as players and animals/mobs for the 1.3.6 release.
I recently experimented with a new rendering technique that proved to be very successful. It’s a neat trick that can drastically cut render time for complex scenes with difficult lighting. The idea is to split up the render into two separate passes: sunlight and emitter passes. Splitting these two light sources makes it possible to blur the emitter light where it is too noisy.
I posted about this rendering technique on reddit, and this imgur album sums up the technique. I plan on writing a more detailed tutorial for this rendering technique to post on the Chunky website. I’m also thinking about adding a black sky mode in Chunky to make the scene setup for the emitter pass a bit faster.
I often have ideas about neat features to implement in Chunky. One of the ideas I am most excited about at the moment is plugin support. This is something that I have vaguely thought about before but never really considered possible, but with the current launcher it would actually be pretty simple to implement plugin support. The thing that really blocks plugins right now is that I’d have no way of signing/verifying plugins. Plugins would be a huge security concern for the plugin users. On a related note I really want to add verification for the core Chunky binaries.
My current priority list for future projects is this:
- Signing and verifying Chunky core libraries
- Player and animal/mob rendering (needs posing UI)
- Custom models from resource packs
- Plugin support
- Translation support
- Translating the Chunky website
- Distributed rendering
- GPU rendering
Although GPU rendering seems to be the most requested feature by users I don’t have it that high on my own priority list because of these reasons:
- The overall main priority for Chunky is to reach feature parity with Minecraft. Every Minecraft block and entity needs to be rendered correctly. GPU rendering would require re-implementing a lot of things that are handled now by the software renderer, so I’d rather complete the software renderer first.
- GPU rendering will take a lot of time to implement, and I think my time is better spent on other things like supporting new Minecraft features.
- Although everyone who requests GPU rendering seems to believe that it would give a huge boost to rendering speed my estimations are much lower. I believe it will be faster, just not that incredibly much faster.
- I believe distributed rendering will give a much higher return on investment when considering time spent implementing versus net rendering efficiency increase.
- Aside from just implementing a GPU renderer, a lot of code needs to be restructured in Chunky just to integrate that smoothly into the existing render framework.