Se connecter avec
S'enregistrer | Connectez-vous

Le Framework et le pipeline

A la découverte de XNA
Par

XNA Framework est à la fois une surcouche de DirectX et une extension dédiée aux jeux pour la plateforme .NET. Elle poursuit deux objectifs fondamentaux :

  • Permettre aux développeurs de  concentrer leurs efforts sur le jeu et non la gestion du système.
  • Offrir des APIs consistantes, faciles à utiliser, complètes, et dans un pur esprit .NET.

Pour cela, les API du XNA Framework couvrent principalement les aspects suivants.

  • Le Graphisme : avec notamment des API pour toute la gestion des capacités de la carte graphique, les textures, l’affichage des sprites et des modèles 3D, etc.
  • Le Son : la reproduction de musique en tâche de fond, la génération d’effets spéciaux, etc.
  • Les Entrées : avec des API de gestion du joystick très simple d’emploi, de gestion de la souris et du clavier.
  • Le Stockage : avec une API qui se comporte comme un système de fichiers virtuel. Tous les fichiers sont stockés à l’endroit le mieux adapté selon la plateforme visée.
  • Les Mathématiques : avec une librairie de fonctions mathématiques spécialement orientée vers le jeu 3D avec notamment des API de mouvements, de rotations mais aussi de détection d’intersections/collisions ou de gestion Frustum (élimination des éléments hors champ visuel).

Le XNA Content Pipeline

Un jeu, ce n’est pas que du code. XNA prend en compte tout le « Content Pipeline », autrement dit tout l’aspect « contenu » du jeu et les problématiques qui y sont associées : les textures (avec leurs différentes bitmaps en résolutions différentes), les modèles 3D, les éléments audio, mais aussi les problématiques d’importation, de formats, de traitements graphiques et audio, de préparation des contenus à la plateforme de destination, de chargement des ressources, etc. Autant d’éléments et processus généralement gérés par des personnes différentes (dans les grandes équipes de développement de jeux) et qui trouvent ici un socle normalisateur et unificateur.

Le Content Pipeline tend à préparer tous vos objets multimédias pour qu’ils soient directement convertis au format DirectX et soient transformés en classes managées fortement typées, directement manipulables en code C#.

Par conséquent, et c’est l’une des grandes originalités de XNA, tout contenu (image, texture, modèle 3D, son, musique, vidéo) utilisé par votre jeu doit traverser ce Content Pipeline pour être vérifié, transformé au bon format, optimisé et injecté dans les ressources du programme. Dès lors, les API permettent de simplement et très rapidement charger et manipuler ces contenus en les appelants par leur nom.

scope