JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
SceneResources.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 <memory>
7
10
11class QRhi;
12class QRhiResourceUpdateBatch;
13
18
19namespace hmi {
20
21class SpriteBatch;
22class TextureAtlas;
23class TextureCache;
24class BitmapFont;
25
48public:
51
54
66 void create(QRhi* rhi, QRhiResourceUpdateBatch* updates);
67
69 void release() noexcept;
70
72 [[nodiscard]] bool created() const noexcept {
73 return _spriteBatch != nullptr;
74 }
75
78 void setFrameUpdates(QRhiResourceUpdateBatch* updates) noexcept {
79 _context.updates = updates;
80 }
81
82 [[nodiscard]] RhiContext& context() noexcept {
83 return _context;
84 }
85 [[nodiscard]] SpriteBatch& sprites() noexcept {
86 return *_spriteBatch;
87 }
88 [[nodiscard]] TextureAtlas& atlas() noexcept {
89 return *_atlas;
90 }
91 [[nodiscard]] BitmapFont& font() noexcept {
92 return *_font;
93 }
94 [[nodiscard]] TextureCache& textures() noexcept {
95 return *_textureCache;
96 }
97 [[nodiscard]] SkinCatalog& skins() noexcept {
98 return _skins;
99 }
100
101private:
103 std::unique_ptr<SpriteBatch> _spriteBatch;
104 std::unique_ptr<TextureAtlas> _atlas;
105 std::unique_ptr<BitmapFont> _font;
106 std::unique_ptr<TextureCache> _textureCache;
108};
109
110} // namespace hmi
Accès partagé au QRhi courant et au lot de mises à jour de ressources de l'image en cours (EX-REN-050...
Association type de tuile → asset et mode de rendu, groupée en jeux nommés (EX-EDIT-042,...
Police bitmap chargée depuis Assets/Fonts/, avec repli procédural (EX-NFR-040).
Definition BitmapFont.h:39
void create(QRhi *rhi, QRhiResourceUpdateBatch *updates)
Crée les ressources sur rhi, en déposant les téléversements dans updates.
Definition SceneResources.cpp:27
SceneResources & operator=(const SceneResources &)=delete
SkinCatalog _skins
Definition SceneResources.h:107
RhiContext & context() noexcept
Definition SceneResources.h:82
bool created() const noexcept
Definition SceneResources.h:72
TextureAtlas & atlas() noexcept
Definition SceneResources.h:88
BitmapFont & font() noexcept
Definition SceneResources.h:91
void release() noexcept
Libère tout, dans l'ordre imposé par les dépendances entre ressources.
Definition SceneResources.cpp:51
TextureCache & textures() noexcept
Definition SceneResources.h:94
std::unique_ptr< BitmapFont > _font
Definition SceneResources.h:105
RhiContext _context
Definition SceneResources.h:102
SceneResources(const SceneResources &)=delete
std::unique_ptr< TextureAtlas > _atlas
Definition SceneResources.h:104
std::unique_ptr< TextureCache > _textureCache
Definition SceneResources.h:106
std::unique_ptr< SpriteBatch > _spriteBatch
Definition SceneResources.h:103
~SceneResources()
Definition SceneResources.cpp:23
void setFrameUpdates(QRhiResourceUpdateBatch *updates) noexcept
Déclare le lot de téléversements de l'image en cours (nullptr pour le retirer en fin d'image).
Definition SceneResources.h:78
SpriteBatch & sprites() noexcept
Definition SceneResources.h:85
SkinCatalog & skins() noexcept
Definition SceneResources.h:97
Catalogue des jeux de skins : (jeu, type de tuile) → { asset, mode }.
Definition SkinCatalog.h:100
Dessine des quads texturés au travers de QRhi, avec transparence et échantillonnage nearest (pixel ar...
Definition SpriteBatch.h:59
Texture d'atlas et table de régions, chargée depuis un fichier image avec repli procédural (EX-REN-04...
Definition TextureAtlas.h:40
Charge, valide et met en cache des textures GPU désignées par leur nom de fichier logique.
Definition TextureCache.h:60
Definition AudioEngine.cpp:15
Le QRhi courant et le lot de téléversements de l'image en cours.
Definition RhiContext.h:34