Files
orni-attack/source/core/defaults/rendering.hpp
T

46 lines
1.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// rendering.hpp - Opcions de renderització
// © 2026 JailDesigner
#pragma once
#include <array>
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<ResolutionPreset, 5> 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