Bright Engine is a Light-Weight C++ Rendering platform aimed towards, Real-time rendering for both Video Games and Cinematic Animations. It is still very early in its life-cycle, but has been designed with scalability in mind allowing for any form of project to be created. From a first person shooter to a Massively multi-player online game.
The mission is to create a robust development tool that acts as a viable alternative to other mainstream products by providing complete control and customisability, allowing the Engine to suit any project while still remaining simple and efficient to use. While the Editor does the heavy lifting, you can go into the heart of your project and edit the source code of the executable to achieve anything you want (including adding your own custom or other 3rd party libraries).
Bright Engine has undergone and still continues to be rigorously tested by a growing community of dedicated game developers who have ensured maximum stability with each new update.
If you are interested in Bright Engine and want to snag up a free copy you are welcome to join the Discord community to ask questions to existing testers, get real time development progress updates or even download the engine to try it out for yourself!
Here we are at the final update of 015 update series, happy to present a significantly more stable engine! We bring this update series to a close with a significant boost in performance, drastic improvements to the tools & Editor Interface, and as promised, the biggest bug fixing update released to date!
If you are interested in Bright Engine and want to snag up a free copy you are welcome to join the Discord community Ask questions to existing testers, get real time development progress updates or even download the engine to try it out for yourself!
As the title might suggest, this update was not focused on adding new features so there is not much to discuss here. However we did add an object locking system!
Whenever an object becomes locked, it can no longer be transformed or selected using the mouse click (it can still be selected via the hierarchy panel). This is a small useful tool for preventing edits to objects that you are happy with it’s settings, for example, terrain. Locked objects when selected have a yellow bounding box as opposed to the normal green so if you try moving it and isn’t working, you won’t be tearing your hair out wondering why, plus if you decide you do want to edit the transformations of that object again in the future then it can simply be unlocked at anytime.
The primary focus of this update was improving performance while fixing the large plethora of bugs that have accumulated over the past few updates. But before we dive down that rabbit hole, other improvements to the rendering pipeline and Editor were made.
Starting with models, the importing system got a bit of a makeover due to the large number of crashes that would occur if things were exported from a modeling tool incorrectly. Most of this was bug fixes which have been listed in the next section. However aside from this, the architecture of Bright Engine’s data handling within the RAM was completely reworked which saw enormous improvements to loading times!
In addition, we fixed the LOD system which was causing strange rendering problems in regards to shadows, while also adding a new button to reload the selected models textures, if they have been edited outside of the Editor.
Animated Models have long been a problem within the engine so we made some strides forward here as well. FBX skeletal animated models are now fully supported with no more weird and random glitches. Sadly there are still some issues with the DAE format but its a relatively new addition to the engine, so we’re aiming to have these fixed up pronto!
Next we took a look at terrain and found a bountiful collection of ideas on how to improve it further. Sadly only two made it into this update, but more will be introduced in future. First is the introduction of Parallax Occlusion Mapping onto terrain objects, to create even more realistic environments!
Second was a minor update to Dynamic Foliage which now snaps itself to the terrain, preventing floating patches of grass on a sloped section.
Screen Space Ambient Occlusion has long since had some issues when it came to transparency. Much like Shadows in v0.1.5a, the SSAO effect uses geometry based calculations since it is significantly faster approach. But in v0.1.5b we introduced alpha consideration into the shadow rendering pipeline and in this update we actually just took the same concept and applied it for SSAO as well.
We also added a new setting to control the kernel size of the calculations for SSAO. While this is a quite advanced feature in terms of knowledge, the general principle is the greater the kernel size, the more accurate the effect at the cost of performance. Originally this was fixed at 64 but now you have complete control over it within each zone.
Last set of improvements before we talk about the performance related stuff is changes made to the Editor. We’ve moved a few things around for a more fluid workflow while adding in a few minor new features. There is now an FPS counter in the bottom left corner so you can see general performance without having to enter diagnostics mode, we’ve added a shortcut button within the animation settings of a model object to quickly open the animation manager, moved the view filters from the Render Panel to the Menu bar under View and adjusted a few default values of some settings to more sensible starting values.
As the continued UI improvements, the World Panel and the Animation Manager have now had their UI updated to the new components resulting in a much nicer looking interface for both!
Now let's talk performance. This has been something that has steadily been declining with each update despite our best efforts, and we felt it time that we did something about it. After having the privilege of talking with some leading software engineers within the game development industry, we have begun our drastic improvements to the rendering pipeline starting with the rework of Occlusion Query. The introduction of Frustum Culling, next frame comparison and adding clip planes into the pipeline, saw a performance increase of over 170%!
But it wasn’t all GPU upgrades, we moved our attention towards how the data was being extracted from RAM and then passed between the CPU and GPU. Sometimes it can be quite horrifying how badly something was originally created, but given we are in the business of constantly improving our code as we learn more it's always fun to see how far we’ve come. So we have optimised the data handling of:
Performance is still far from where we want it to be, though that’s always going to be the case as we aim for the best results with the best performance. For now however, our community can enjoy a good boost, improving their experience within Bright Engine.
It’s time Bright Engine, started becoming an Engine instead of a glorified world building tool. The 016 update series will be introducing Actors, Waypoints, Audio and Physics while also improving what is already in place even further. Plans for Shadow Baking, a new Particle Suite, further expansion to lighting and post processing effects as well as laying the groundwork to scripting. It’s going to be a busy series and we can’t wait to get started!
After two months of vigorously sweeping through thousands of lines of code, ripping out old systems with new ones and altering the architecture of the...
To kick start the first of many updates in 2019 we begin with the 0.1.5 series. As previously mentioned in the 0.1.4c patch notes, this series of updates...
This series of updates have had the goal of creating comprehensive tools for world building and so we are finishing it off with two new tools: Dynamic...
Last patch we brought about a comprehensive sculpting system that allowed for complex terrain structures via easy to use tools. Now we take one step closer...
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.