See what is coming up in 2022 for Equilibrium Engine and what was done this December.
Merry Christmas!
I just wanted to quickly say thank you to those who are reading my blog and wish everyone a great year ahead fulfilled with joy and happiness! Also, for those who are attentive and curious there is a little gift down below!
What was done this December?
I haven’t posted in a while in preparation to showcase some of my advancements with bgfx rendering, entity inspector and entt. I was able to implement “Manual System” which are called manually within another system (example: ImGui frame where all the GUI calls has to be within the same frame). The API looks something like that:
You may notice that I also added Disabled tag that allowed me to disable and enable systems on the fly. For instance, simply disabling dock system will create an effect of full-screen app.
I also decided to expand further and see if I can expand inspector to support Transform and Rotatable components so we can control individual entities.
I also implemented shader compiler function in CMake so now your shaders will be automatically compiled and recompiled only when they are modified. They will be placed into the build folder for your appropriate backend (i.e shaders/dx11). Feel free to include this shader_compiler.cmake file in your projects.
Usage:
Samples’ app code now also grew a bit. I added ManualSystem to manually tick gui systems. Also I added Camera entity and primitive CubeMesh component. BgfxResourceSystem takes care of the rest
What is the plan?
I am currently moving away from C++ land and leaning towards C land due to fastest compiles time I have ever seen. The engine compiles to C in a matter of 1-2 seconds while C++ builds taking long time to assemble. The most consuming part is linking time, so total C++ build takes ~10 seconds even when a single cpp file is changed. Although toying around with entt was fun I still like flecs’ ecs library for its growing community and lots of modules that come with it.
As a little gift, if you want to try around the sample app feel free to get it here.
Be vary that disabling systems might cause some issues and the app will need to be restarted. I haven’t implemented safeguards yet :) Feel free to destroy Cubes, change their scale speed etc. Toy around with dockspace, move the Inspector on the second screen, disable dockspace all together !