feat(title): paleta neon synthwave per element a l'escena de títol

This commit is contained in:
JailDesigner committed 2026-05-22 13:04:11 +02:00
1 parent 880af293ef
commit c61299f17f
5 files changed
+40 -10

No files matched your search

+16
View File
@@ -3,6 +3,8 @@
#pragma once
#include <SDL3/SDL.h>
#include <cmath>
#include "core/defaults/game.hpp"
@@ -126,4 +128,18 @@ namespace Defaults::Title {
constexpr float TEXT_SPACING = 2.0F;
} // namespace Layout
// Paleta neon de l'escena de títol (cian + magenta synthwave).
// alpha = 255 (sentinela "color vàlid") fa que el pipeline ignori
// el color global de l'oscil·lador per a aquesta crida.
namespace Colors {
constexpr SDL_Color LOGO_MAIN = {.r = 80, .g = 240, .b = 255, .a = 255}; // Cian elèctric
constexpr SDL_Color LOGO_SHADOW = {.r = 255, .g = 60, .b = 180, .a = 255}; // Magenta neon (offset)
constexpr SDL_Color SHIP_P1 = {.r = 255, .g = 100, .b = 200, .a = 255}; // Rosa hot
constexpr SDL_Color SHIP_P2 = {.r = 160, .g = 120, .b = 255, .a = 255}; // Violeta elèctric
constexpr SDL_Color STARFIELD = {.r = 200, .g = 220, .b = 255, .a = 255}; // Blanc-blau gel
constexpr SDL_Color PRESS_START = {.r = 255, .g = 200, .b = 70, .a = 255}; // Ambre neon
constexpr SDL_Color JAILGAMES_LOGO = {.r = 120, .g = 220, .b = 200, .a = 255}; // Teal suau
constexpr SDL_Color COPYRIGHT = {.r = 140, .g = 180, .b = 200, .a = 255}; // Gris-cian apagat
} // namespace Colors
} // namespace Defaults::Title
+5 -1
View File
@@ -94,7 +94,7 @@ namespace Graphics {
.rotation_euler = Vec3{.x = star.rot_phase_x, .y = star.rot_phase_y, .z = 0.0F},
.scale = star.scale,
};
drawWireframe(renderer_, *camera_, octahedron_, TRANSFORM, computeBrightness(star));
drawWireframe(renderer_, *camera_, octahedron_, TRANSFORM, computeBrightness(star), color_);
}
}
@@ -102,4 +102,8 @@ namespace Graphics {
brightness_mult_ = std::max(0.0F, multiplier);
}
void Starfield::setColor(SDL_Color color) {
color_ = color;
}
} // namespace Graphics
+4
View File
@@ -8,6 +8,8 @@
#pragma once
#include <SDL3/SDL.h>
#include <vector>
#include "core/graphics/camera3d.hpp"
@@ -25,6 +27,7 @@ namespace Graphics {
void draw() const;
void setBrightness(float multiplier);
void setColor(SDL_Color color);
private:
struct Star {
@@ -45,6 +48,7 @@ namespace Graphics {
std::vector<Star> stars_;
Mesh3D octahedron_;
float brightness_mult_{1.0F};
SDL_Color color_{.r = 0, .g = 0, .b = 0, .a = 0}; // alpha=0 → usa color global
// Volum de spawn / regeneració en l'espai 3D.
static constexpr float Z_NEAR_RESPAWN = 5.0F; // Si Z < aquest valor → regenera