The new world panel brought a plethora of new features and settings to use and abuse, but given the size of the update, it wasn’t surprising that a few bugs managed to make it through in-house testing. In the 0.1.3 update series, we’ll be taking a step back from new features to improve and repair the existing systems in preparation for the terrain rework patch coming later this summer!
New Features
Performance Settings
As already stated, new features will be a bit dry for the next few updates as we focus on upgrading the existing mechanics of the engine. However, some minor additions have been made in the name of performance. Starting with new Render Panel settings for texture quality control. Everyone has a different GPU, each with varying amounts of VRAM, so in order for developers with weaker cards to work on highly detailed scenes without running out of memory, Texture Quality can now be manually adjusted from within the editor.
Mipmaps
Furthermore, Mipmaps are now properly integrated to allow for Texture LOD to occur in sync with Model LOD. The two work together to save you time in the manual distance value setting for each object, as well as giving options to override the mipmapping system altogether for massive objects such as background cliffs.
Changes & Improvements
CPU & GPU Performance
Performance is something we want to get near perfect, not only because everyone likes a high fps but also to enable you to build whatever you want without having the feeling of being visually limited by our software. We have gone through a good portion of the main rendering code and managed to remove or improve algorithms to reduce overhead, and while there is far more to be done, the results so far are looking great!
Tested on an Intel i7 3770k processor.
Tested on Nvidia GT 740 to compare performance on an older card.
Aside from performance, we changed a few default settings for user convenience. New Projects now have some default Cubemaps set up for use in skyboxes. Creating new Emitters that use the Timeline Settings no longer defaults to a Velocity Modifier of 0, preventing any form of gravity or velocity forces from working and causing confusion. And Lastly, the fog had a small tweak, we’ve added a new Gradient Setting when using the Exponential Fog Method to give you complete control over the falloff blending. (This has replaced Methods: Exponential 01, Exponential 02)
Bug Fixes
World Editor
- Fixed a bug where Disabling Bloom caused the viewport to become tiny.
- Fixed a bug where AO was out of line until the Editor was re-sized.
- Fixed a bug where deleting a created Room caused a crash.
- Fixed a bug where selecting a newly placed room caused a crash.
- Fixed a bug where deleting a placed room that was selected caused the 3D cursor to linger.
- Fixed a bug where loading a model with no UV Data would cause a crash.
- Fixed a bug where when switching to a different zone, some of the data from the previous zone wasn’t correctly cleared from memory (memory leak).
- Fixed a bug where a warning was given about a non-existent animation set when there aren’t any animation sets in the project.
- Fixed a bug where some data from Models wasn’t being removed from memory when switching zones (memory leak).
- Fixed a bug where some data from Rooms wasn’t being removed from memory when switching zones (memory leak).
- Fixed a bug where Changes made to Emitters wouldn’t appear in the main editor unless it was restarted
What’s Next
With all the major bugs and memory leaks now squashed and sealed up, we can draw our attention to introducing the long-awaited Automated Instanced Rendering system! Draw calls will drop rapidly, and frame draw time will drop with it laying the groundwork for the upcoming dynamic foliage and wind simulation system!
All performance tests are performed in the engine demo scene included in the installation.