JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
Parallax.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
7#include "Core/Math/Rect.h"
8#include "Core/Math/Vector2.h"
9
18
19namespace hmi {
20
22inline constexpr float PARALLAX_FACTOR_NONE = 1.0f;
23
47[[nodiscard]] core::Vector2 parallaxRenderPosition(core::Vector2 modelPosition,
48 core::Vector2 factor,
49 const core::Rect& cameraBounds) noexcept;
50
66[[nodiscard]] core::Vector2 parallaxModelPosition(core::Vector2 renderPosition,
67 core::Vector2 factor,
68 const core::Rect& cameraBounds) noexcept;
69
86[[nodiscard]] core::Vector2 clampPlaneOffset(core::Vector2 offset, const core::Rect& planeBounds,
87 const core::Rect& cameraBounds) noexcept;
88
110[[nodiscard]] constexpr bool planeParallaxActive(core::CameraFramingMode mode,
111 bool levelFlag) noexcept {
112 if (!levelFlag) {
113 return false;
114 }
116}
117
131[[nodiscard]] core::Vector2 roundToScreenPixel(core::Vector2 worldPosition,
132 float pixelsPerWorldUnit) noexcept;
133
134} // namespace hmi
Mode de cadrage de caméra porté par le niveau (EX-LVL-006, EX-REN-016, LOT-64).
Rectangle aligné sur les axes en coordonnées monde, propre à Core.
Vecteur 2D à composantes flottantes, propre à Core (sans dépendance DirectX).
CameraFramingMode
Mode de cadrage de caméra d'un niveau (EX-REN-016) : décision de conception, pas une règle déduite de...
Definition CameraFraming.h:22
@ WholeLevel
Le niveau entier tient dans le cadre (EX-REN-013).
Definition CameraFraming.h:23
Definition AudioEngine.cpp:15
core::Vector2 roundToScreenPixel(core::Vector2 worldPosition, float pixelsPerWorldUnit) noexcept
Arrondit une position monde au pixel écran le plus proche, pour un zoom pixel art net.
Definition Parallax.cpp:61
core::Vector2 clampPlaneOffset(core::Vector2 offset, const core::Rect &planeBounds, const core::Rect &cameraBounds) noexcept
Borne le décalage d'un plan pour qu'il couvre toujours le cadrage.
Definition Parallax.cpp:52
constexpr float PARALLAX_FACTOR_NONE
Facteur neutre : le contenu est solidaire du niveau et ne subit aucun décalage.
Definition Parallax.h:22
constexpr bool planeParallaxActive(core::CameraFramingMode mode, bool levelFlag) noexcept
Décide si la parallaxe des plans s'applique, selon le mode de cadrage et le drapeau du niveau (EX-DEC...
Definition Parallax.h:110
core::Vector2 parallaxModelPosition(core::Vector2 renderPosition, core::Vector2 factor, const core::Rect &cameraBounds) noexcept
Inverse de parallaxRenderPosition : retrouve la position modèle équivalente à un point exprimé en esp...
Definition Parallax.cpp:21
core::Vector2 parallaxRenderPosition(core::Vector2 modelPosition, core::Vector2 factor, const core::Rect &cameraBounds) noexcept
Calcule la position de rendu d'un contenu, décalée par sa parallaxe.
Definition Parallax.cpp:13
Rectangle aligné sur les axes (AABB) en unités monde.
Definition Rect.h:23
Vecteur bidimensionnel en coordonnées monde (composantes float).
Definition Vector2.h:21