Timo Wirén

Aether3D Progress Report

2020-06-21

While I've been busy at my day job, I've still gotten many new features to my own engine Aether3D done in the last few months.

bloom Bloom now looks better. I Gaussian blur it 4 times. Both blur and bloom are done with a compute shader. One possible future optimization is using groupshared memory to avoid reading texture samples multiple times.

duplicating a gameobject in Editor Editor has progressed a lot. I plan to make it useful for creating proper sample scenes. The UI is implemented in Nuklear which is a small UI library like Dear ImGUI. Gameobjects can be duplicated easily like seen in the screenshot above.

I've reduced STL use in my engine over time because it makes compile times slow and looks atrocious in the debugger and I don't like its API. I'm also writing an experimental new engine that doesn't use STL at all and compiles in 1.5 seconds. For comparison, Aether3D compiles in 10 seconds on my 4-core Ubuntu setup.

Address sanitizer (-fsanitize=address,memory) has been pretty useful and I have found some bugs especially in Editor by using it.

I added ASTC texture support to my iOS backend. It will become useful also later when I add Android support.

The feature set of this incarnation of Aether3D is approaching my previous engine. Still missing features are scripting and SSAO. I'll blog more about new features when I develop them. Until next time!