As SimulationStarterKit is C++ / CMake based I’ve adopted CTest as the unit testing framework (for the time being although GoogleTest’s benchmarking support looks good). This is especially helpful when you’re trying to cover many platforms (for me currently that’s Linux, macOS and Windows). Every time I implement a feature in the engine I try to create a corresponding test first to help determine what constitutes correct operation and also sometimes as a programming aid to help discover what a usable API might look like for a new feature. The video below demonstrates how this looks in Visual Studio.
When rendering objects I want to:
- Minimise state switches (i.e. shader activation – glUseProgram())
- Render opaque objects front to back to reduce overdraw
- Render transparent objects back to front to get transparency