Short introduction to using the Cogs.Core.Demos application.
Cogs.Core.Demos demonstrates features in Cogs Core and Extensions.
See options for starting below.
Most examples uses OrbitingCameraController for navigation.
Ctrl+Left picks and logs pick information in Console.
Key | Description |
---|---|
'H' | Logs help commands in the console. |
'+' | Navigate to next Demo |
'-' | Navigate to previous Demo |
'g' | Show Cogs Debug GUI - A custom panel allows navigation to any Demo |
Other keyboard commands allows showing Multiple Windows, Checking Origin changes, Orthographic rendering etc.
The following command line arguments are available for all base apps:
Arg | Description |
---|---|
--help | Display help information. |
--renderer.graphicsDevice=renderer | Select Renderer, ex: OpenGLES30 |
--nowindow | Do not create a window. Also enables the null-renderer if --renderer.graphicsDevice= is not also specified. |
--logcolors=[on/off] | Enable or disable coloring console log output. Default is on. |
--loglevel=level | Set the logging level of detail. Level can be one of: trace, debug, info, warning, error, or fatal. |
--extension=ext | Loads Cogs.Core.Extensions.ext |
Some extra command line arguments are defined only for the Demo App:
Arg | Description |
---|---|
--autoplay=delay | Play through examples every <delay=3000> milliseconds. |
DemoIndex | Run demo with given number. |
Using autoplay to check that all demos runs is recommended after doing changes in Cogs. Also test using different available rendering targets.
A very short autoplay delay can be used to stress-test Cogs.
The --help
command will print both base and specific commands, more can be added at demoApplication.cpp displayHelp()
Replace renderer
by any of the following
Default
: Default type of graphics device, same as unknown.OpenGL20
: Graphics device using OpenGL, supporting at least OpenGL 2.0.OpenGLES30
: Graphics device using the OpenGLES 3.0 API.Direct3D11
: Graphics device using the Direct3D 11 API.Direct3D12
: Graphics device using the Direct3D 12 API.Vulkan
: Graphics device using the Vulkan API.WebGPU
: Graphics device using the WebGPU API.Null
: Null device that implements no rendering functionality. Running a Script and exit.Checking resource usage and switching between demos is not a good way to check for leaks as a full Cogs engine reset is performed when switching demo. The key 'S' does a soft example 'cleanup' and re-'initialize'.
Open the Cogs Debug GUI. Show relevant inspectors found in the 'View' menu pulldown. For example, Mesh, MaterialInstance. Press 'S' several times observing if resource count is stable.
Run the demos using a memory inspector checking for leaks (like Linux Valgrind).
Compile and Run the demos using Cogs 'asan' target providing Address Sanitizer support.
Compile and Run the demos using your favorite Thread Checker (like Linux Helgrind).