18 bool enable_validation =
true;
21 bool enable_debug_markers =
false;
25 bool compute_shaders =
true;
26 bool geometry_shaders =
false;
27 bool tessellation_shaders =
false;
28 bool multi_viewport =
false;
29 bool sampler_anisotropy =
true;
30 bool fill_mode_non_solid =
false;
39 = MemoryStrategy::BALANCED;
47 = CommandPooling::PER_THREAD;
50 uint32_t max_frames_in_flight = 2;
53 bool enable_compute_queue =
true;
56 bool enable_transfer_queue =
false;
64 = ShaderCompilation::CACHED;
67 std::filesystem::path shader_cache_dir =
"cache/shaders";
82 uint32_t max_windows = 16;
85 uint32_t max_staging_buffer_mb = 256;
88 uint32_t max_compute_buffer_mb = 1024;
91 uint32_t max_texture_cache_mb = 2048;
94 uint32_t max_descriptor_sets = 1024;
97 uint32_t max_pipelines = 256;
160 uint32_t image_count = 3;
163 bool enable_regions =
true;
166 uint32_t max_regions_per_window = 256;
172 bool measure_frame_time {};
243 uint32_t target_frame_rate = 60;
266 std::string title =
"MayaFlux Window";
269 uint32_t width = 1920;
270 uint32_t height = 1080;
273 int32_t monitor_id = -1;
276 bool fullscreen =
false;
279 bool resizable =
true;
282 bool decorated =
true;
285 bool transparent =
false;
288 bool floating =
false;
291 bool register_for_processing =
true;
301 uint32_t color_channels = 4;
302 bool has_depth =
false;
303 bool has_stencil =
false;
473 bool is_primary =
false;
CursorMode
Cursor visibility and behavior.
@ DISABLED
Invisible and locked (FPS camera)
@ NORMAL
Visible and movable.
@ CAPTURED
Invisible, locked, raw motion.
@ HIDDEN
Invisible but movable.
WindowEventType
Types of window and input events.
std::function< void(const WindowEvent &)> WindowEventCallback
enum MayaFlux::Core::GlfwPreInitConfig::Platform platform
bool headless
Request OpenGL debug context (if using OpenGL backend)
bool cocoa_chdir_resources
Platform
Force a specific windowing platform on Linux.
bool disable_libdecor
this prevents crash on some wayland compositors
Configuration hints for GLFW initialization.
GraphicsSurfaceInfo surface_info
System-wide configuration for visual stream processing.
WindowingBackend
Windowing library selection.
GlfwPreInitConfig glfw_preinit_config
Pre-initialization configuration for GLFW.
GraphicsResourceLimits resource_limits
Resource limits.
GraphicsBackendInfo backend_info
Graphics backend configuration.
std::vector< std::string > required_extensions
Backend-specific extensions to request.
MemoryStrategy
Memory allocation strategy.
std::vector< std::string > optional_extensions
CommandPooling
Command buffer pooling strategy.
ShaderCompilation
Shader compilation strategy.
Configuration for graphics API backend (Vulkan/OpenGL/etc.)
Resource limits and budgets for graphics subsystem.
ColorSpace
Default color space for window surfaces.
SurfaceFormat
Default pixel format for window surfaces (Vulkan-compatible)
PresentMode
Frame presentation strategy.
std::unordered_map< std::string, std::any > backend_options
Backend-specific configuration parameters.
System-wide configuration for visual stream processing.
Information about a physical display.
bool operator==(const VideoMode &other) const
std::optional< GraphicsSurfaceInfo::PresentMode > present_mode
Override global present mode (nullopt = use global default)
std::optional< GraphicsSurfaceInfo::SurfaceFormat > surface_format
Override global surface format (nullopt = use global default)
Configuration for creating a single window instance.
std::variant< std::monostate, ResizeData, KeyData, MousePosData, MouseButtonData, ScrollData, std::any > EventData
WindowEvent(const WindowEvent &)=default
WindowEvent(WindowEvent &&) noexcept=default
Event data for window and input events.
double average_frame_time
Runtime state of a window (mutable by system, read by user)