JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
PlaneReference.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
6#include <cstdint>
7#include <vector>
8
11
24
25namespace hmi {
26
28struct PlaneLayer {
30 const DecodedImage* image = nullptr;
32 int pixelsPerUnit = 16;
34 float opacity = 1.0f;
36 bool visible = true;
37};
38
56[[nodiscard]] DecodedImage resamplePlane(const DecodedImage& image, int fromPixelsPerUnit,
57 int toPixelsPerUnit);
58
71[[nodiscard]] DecodedImage buildTileOnionSkin(const core::LevelDraft& draft, int pixelsPerUnit);
72
86[[nodiscard]] DecodedImage flattenPlanes(const std::vector<PlaneLayer>& layers, int pixelsPerUnit,
87 int widthUnits, int heightUnits);
88
98[[nodiscard]] std::uint32_t alphaOver(std::uint32_t below, std::uint32_t above) noexcept;
99
100} // namespace hmi
Représentation mutable d'un niveau en cours d'édition.
Chargement de textures GPU depuis des fichiers image (EX-REN-041), au travers de QRhi.
Niveau mutable en cours d'édition, distinct de Level (immuable, LOT-07).
Definition LevelDraft.h:43
Definition AudioEngine.cpp:15
DecodedImage buildTileOnionSkin(const core::LevelDraft &draft, int pixelsPerUnit)
Construit la pelure d'oignon des tuiles : une couleur plate par type, aux dimensions d'un plan de la ...
Definition PlaneReference.cpp:149
DecodedImage flattenPlanes(const std::vector< PlaneLayer > &layers, int pixelsPerUnit, int widthUnits, int heightUnits)
Aplatit des plans en une seule image, par alpha-over dans l'ordre donné.
Definition PlaneReference.cpp:182
DecodedImage resamplePlane(const DecodedImage &image, int fromPixelsPerUnit, int toPixelsPerUnit)
Rééchantillonne une image d'une densité à une autre, par ratio entier.
Definition PlaneReference.cpp:92
std::uint32_t alphaOver(std::uint32_t below, std::uint32_t above) noexcept
Compose un pixel au-dessus d'un autre (alpha-over, alpha non prémultiplié).
Definition PlaneReference.cpp:70
Pixels RGBA décodés d'un fichier image, alpha non prémultiplié (cohérent avec le mélange du pipeline ...
Definition TextureLoader.h:27
Un plan à aplatir sous (ou sur) celui qu'on peint.
Definition PlaneReference.h:28
bool visible
Couche masquée dans l'éditeur : ignorée, comme si elle n'existait pas.
Definition PlaneReference.h:36
int pixelsPerUnit
Densité de image, en pixels par unité monde.
Definition PlaneReference.h:32
float opacity
Opacité de composition, dans [0, 1].
Definition PlaneReference.h:34
const DecodedImage * image
Image du plan, à sa propre densité. nullptr : couche ignorée.
Definition PlaneReference.h:30