// rendering.hpp - Opcions de renderització // © 2026 JailDesigner #pragma once #include namespace Defaults::Rendering { constexpr int VSYNC_DEFAULT = 1; // 0=disabled, 1=enabled constexpr int ANTIALIAS_DEFAULT = 1; // 0=disabled, 1=enabled (AA geomètric a les línies) // Grosor global per defecte de les línies. 1.5 dóna línia visible i crujent; // 1.0 es veu massa fi en pantalles grans. Configurable via setLineThickness. constexpr float LINE_THICKNESS_DEFAULT = 1.5F; // Resolució del render target offscreen. El tamany lògic del joc roman a // 1280×720 (coordenades dels objectes); aquesta és la resolució física a // la qual es rasteritzen les línies abans de la composició final. struct ResolutionPreset { int w; int h; }; constexpr std::array RESOLUTION_PRESETS{{ {.w = 1280, .h = 720}, // HD 720p (default) {.w = 1600, .h = 900}, // HD+ 900p {.w = 1920, .h = 1080}, // Full HD 1080p {.w = 2560, .h = 1440}, // QHD 1440p {.w = 3840, .h = 2160} // 4K UHD 2160p }}; constexpr int RENDER_WIDTH_DEFAULT = 1280; constexpr int RENDER_HEIGHT_DEFAULT = 720; constexpr auto isValidRenderResolution(int w, int h) -> bool { for (const auto& preset : RESOLUTION_PRESETS) { if (preset.w == w && preset.h == h) { return true; } } return false; } } // namespace Defaults::Rendering