Current CEGUI developments and future plans

We are currently working on improving CEGUI 1.0 (current default branch) to bring CEGUI to the next level by upgrading core code using C++11 features, by improving the API design for easier and more inituitive use, by resolving naming issues and by adding features that will make everyday CEGUI usage easier. We will also in time improve the official API docu, which we consider crucial for the Release of 1.0.

To summarise our current developments and goals for 1.0:

  • Text rendering is currently slow due to Renderer changes, we will fix this soon and potentially also improve how Font will be rendered in general, by considering Kerning and thus improving the look/readability.
  • We already replaced some containers using the new unordered containers of C++11 and replaced output/input int types using std::int8_t etc. We will continue adding C++11 features such as move-constructors, std::array, std::copy (removing memcpy), simplify loops, potentially use std::thread and are already in the process of doing so.
  • We will replace sscanf and printf using sstream, to make CEGUI ready for multi-threading and protect it from changes to the global locale, which can occur from other libraries or user-code. We already finished this process for the PropertyHelper class.
  • A Vulkan Renderer will be added once Vulkan drivers are available
  • All CEGUI containers, which allow adding widgets as items, will be adapted so that they can be filled using layout XML files as well as via code. Currently filling them in layout files is not possible for all widgets, which is a big mistake in my opinion
  • Let's also not forget that 1.0 already contains a lot of new features such as: a new input handling based on semantics making it suited for different input devices, loading/rendering simpel SVGs and creating custom vector graphics in runtime as CEGUI Image, new MVC pattern for container widgets, etc etc etc

We are also working to solve the open tickets on our bug tracker, feel free to check them out if you want to know more about upcoming changes.

Version 0.8.X has also not been forgotten. We work on bug fixes and ABI-compatible new features there. A new Release is planned and contains a lot of fixes we have applied in the past year. Unfortunately, a smaller release-blocker is keeping us from releasing it currently, but progress on resolving it has already been made. We will release the new version as soon as we have solved all blockers!