easy-gl › Config
Config
A plain struct that controls Device behaviour. Pass it to the Device constructor before initializing.
struct Config {
bool throw_on_missing_feature = true;
bool enable_debug_logging = false;
bool validate_calls = true;
};
Fields
| Field | Default | Effect |
|---|---|---|
throw_on_missing_feature | true | When true, device.require(Feature) throws Exception if the feature is absent. Set false to silently continue and check features manually. |
enable_debug_logging | false | When true, enables OpenGL debug output logging if the driver supports it. |
validate_calls | true | When true, adds extra validation around certain calls. Disable for maximum-performance release builds. |
Usage
// Debug build: maximum feedback
easygl::Config debugCfg;
debugCfg.throw_on_missing_feature = true;
debugCfg.enable_debug_logging = true;
debugCfg.validate_calls = true;
easygl::Device device(debugCfg);
// Release build: minimum overhead
easygl::Config relCfg;
relCfg.throw_on_missing_feature = true;
relCfg.enable_debug_logging = false;
relCfg.validate_calls = false;
easygl::Device device(relCfg);
Use C++20 designated initialisers for a compact one-liner:
easygl::Device device({ .enable_debug_logging = true });