10#include <unordered_map>
14#include <DirectXMath.h>
79 std::unordered_map<std::string, core::Animation>& tileAnimations,
80 std::set<std::string>& warnedExclusions);
111 const std::string& skinSet = {},
112 const std::vector<core::TileTextureOverride>& textureOverrides = {},
113 const std::unordered_map<std::string, core::Animation>& tileAnimations = {});
129 const std::optional<std::string>& background,
TextureCache& cache);
193 float interpolationAlpha,
const std::optional<std::string>& background = {},
194 int levelWidth = 0,
int levelHeight = 0,
195 const std::vector<core::TileTextureOverride>& textureOverrides = {},
196 const std::unordered_map<std::string, core::Animation>& tileAnimations = {},
197 const std::vector<core::Plane>& planes = {},
bool planeParallax =
false,
Composant d'état d'animation par séquence d'images (données pures).
Composition du fond de niveau sur le calque RenderLayer::Background (LOT-44, EX-REN-044).
Composition du rendu : liste ordonnée des primitives d'une image, sans GPU (EX-NFR-004,...
Niveau chargé : grille de tuiles, entrée/sortie et mécanismes.
Projection profondeur → calque, résolution et composition des plans picturaux (EX-REN-049,...
Plan pictural d'un niveau : image couvrant le niveau entier (EX-DEC-040, LOT-69).
Association type de tuile → asset et mode de rendu, groupée en jeux nommés (EX-EDIT-042,...
Pipeline de rendu 2D sur QRhi : accumule des quads texturés et les dessine par lots (EX-REN-050,...
Grille dense de tuiles typées (EX-GP-001), origine haut-gauche.
Definition TileMap.h:25
Point d'entrée unique de la simulation : possède les entités, les composants et les systèmes.
Definition World.h:35
Caméra 2D orthographique : projette le monde vers l'écran pour le rendu.
Definition Camera2D.h:79
Liste ordonnée des primitives d'une image, indépendante de Direct3D.
Definition ComposedScene.h:134
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
const TextureAtlas * _atlas
Definition SpriteRenderer.h:239
void setPlanesDirectory(std::filesystem::path directory)
Fixe le dossier où résoudre les images de plans (Levels/Plans).
Definition SpriteRenderer.h:207
const SkinCatalog * _skins
Definition SpriteRenderer.h:241
SpriteBatch * _batch
Definition SpriteRenderer.h:238
const ComposedScene & lastScene() const noexcept
Definition SpriteRenderer.h:212
TextureCache * _cache
Definition SpriteRenderer.h:240
void logStatisticsIfChanged()
Journalise les compteurs de l'image seulement s'ils ont changé depuis la précédente : le volume soumi...
Definition SpriteRenderer.cpp:270
void render(core::World &world, const Camera2D &camera, RenderMode mode, float interpolationAlpha, const std::optional< std::string > &background={}, int levelWidth=0, int levelHeight=0, const std::vector< core::TileTextureOverride > &textureOverrides={}, const std::unordered_map< std::string, core::Animation > &tileAnimations={}, const std::vector< core::Plane > &planes={}, bool planeParallax=false, const core::TileMap *doorCollision=nullptr)
Dessine toutes les entités affichables du monde, vues par la caméra.
Definition SpriteRenderer.cpp:237
SpriteRenderer(SpriteBatch &batch, const TextureAtlas &atlas, TextureCache &cache)
Construit le rendu de sprites.
Definition SpriteRenderer.cpp:233
ComposedScene _scene
Definition SpriteRenderer.h:243
SceneStatistics _loggedStatistics
Definition SpriteRenderer.h:244
std::string _skinSet
Definition SpriteRenderer.h:242
void setSkins(const SkinCatalog *skins, std::string skinSet={})
Désigne le catalogue de skins et le jeu à utiliser en mode Texture (LOT-42).
Definition SpriteRenderer.h:225
std::filesystem::path _planesDirectory
Dossier des images de plans (setPlanesDirectory), vide tant qu'aucun n'est fixé.
Definition SpriteRenderer.h:237
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
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
Definition AudioEngine.cpp:15
SceneTextures sceneTextures(const TextureAtlas &atlas, TextureCache &cache, const SkinCatalog *skins, const std::string &skinSet, const std::vector< core::TileTextureOverride > &textureOverrides, const std::unordered_map< std::string, core::Animation > &tileAnimations)
Textures liables par la composition d'une scène : atlas, damier de repli et skins.
Definition SpriteRenderer.cpp:80
void advanceTileAnimations(const SkinCatalog *skins, const std::string &skinSet, TextureCache &cache, float deltaSeconds, std::unordered_map< std::string, core::Animation > &tileAnimations, std::set< std::string > &warnedExclusions)
Avance l'horloge d'animation partagée des tuiles animées d'un jeu de skins courant (LOT-46 TACHE-05).
Definition SpriteRenderer.cpp:188
void submitComposedScene(SpriteBatch &batch, const DirectX::XMFLOAT4X4 &projection, const ComposedScene &scene)
Soumet une scène composée au pipeline de dessin, une passe par groupe de texture.
Definition SpriteRenderer.cpp:22
const std::string SKINS_SUBDIRECTORY
Sous-dossier des skins de tuiles, relatif au dossier d'assets (LOT-42).
Definition SpriteRenderer.h:56
RenderMode
Mode de rendu de la scène : lecture directe des collisions, ou habillage.
Definition RenderMode.h:23
BackgroundTexture resolveBackgroundTexture(const std::optional< std::string > &background, TextureCache &cache)
Résout la texture de fond d'un niveau (accès TextureCache/GPU, LOT-44).
Definition SpriteRenderer.cpp:173
const std::string BACKGROUNDS_SUBDIRECTORY
Sous-dossier des fonds de niveau, relatif au dossier d'assets (LOT-44).
Definition SpriteRenderer.h:83
const std::string OBJECTS_SUBDIRECTORY
Sous-dossier des textures d'objets interactifs, relatif au dossier d'assets (LOT-45).
Definition SpriteRenderer.h:86
Texture de fond déjà résolue, prête à être composée.
Definition BackgroundRenderer.h:51
Compteurs d'une image composée, pour l'observabilité du volume soumis (EX-NFR-005).
Definition ComposedScene.h:92
Textures liables par la composition d'une scène, et de quoi choisir laquelle lier.
Definition TileAppearance.h:85