Convenience classes to help you during development.
DebugTools library provides various helper classes to help you with prototyping and debugging applications without the need to write too much common code. They probably have no usage in production code, but can be useful in development. See documentation of DebugTools namespace for more information about building and usage with CMake.
Debug renderers provide a way to visualize objects and object features in scene graph without the need to mess around with meshes and shaders. They are implemented as object features, so you can attach any number of them to any object.
Basic usage involves instancing DebugTools::
Next step is to create configuration for your debug renderers and create particular debug renderer. The configuration is managed using the resource manager - you create configuration instance, add it to the manager and then reference it using particular resource key. This way you can easily share the same options with more renderers. If no options are specified or resource with given key doesn't exist, default fallback is used.
Example usage: visualizing object position, rotation and scaling using DebugTools::
// Global instance of debug resource manager, drawable group for the renderers DebugTools::ResourceManager manager; SceneGraph::DrawableGroup3D debugDrawables; // Create renderer options which will be referenced later by "my" resource key DebugTools::ResourceManager::instance().set("my", DebugTools::ObjectRendererOptions().setSize(0.3f)); // Create debug renderer for given object, use "my" options for it. The // renderer is automatically added to the object features and also to // specified drawable group. Object3D* object; new DebugTools::ObjectRenderer2D(*object, "my", debugDrawables);