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

FieldDefaultEffect
throw_on_missing_featuretrueWhen true, device.require(Feature) throws Exception if the feature is absent. Set false to silently continue and check features manually.
enable_debug_loggingfalseWhen true, enables OpenGL debug output logging if the driver supports it.
validate_callstrueWhen 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 });