// rendering.hpp - Opcions de renderització // © 2026 JailDesigner #pragma once #include #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) // 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 { return std::ranges::any_of(RESOLUTION_PRESETS, [w, h](const ResolutionPreset& preset) { return preset.w == w && preset.h == h; }); } } // namespace Defaults::Rendering