Console de jeu portable (bras MCU Team) (2 / 6 étapes)

Étape 2: Logiciel de Conversion Bitmap

Depuis le début du projet, nous savions qu’il était impossible pour nous d’utiliser toutes sortes de formats de couleurs sur les images que nous souhaitons afficher. Afin de respecter le cahier des charges et de respecter les contraintes techniques, nous avions besoin de choisir un taux fixe format et respectez-le. Le format de couleur requis est le RGBA avec 16 bits de pixel et 12 bits couleur et 4 bits composant de transparence. Sachant que ce format n’est pas un standard, nous avons dû développer un logiciel de conversion afin de créer des images de ce format. Un autre avantage d’un tel logiciel est la possibilité de modifier n’importe quel certaines caractéristiques de l’image, tels que la transparence.

Nous avons choisi le C++ comme un langage de programmation, et nous avons utilisé le QT creator pour la bibliothèque graphique. Le C++ est un langage de développement de logiciels que nous sommes habitués et nous savions que streamss fichier serait facile à manipuler. Nous avons réussi à lire les images que nous avons voulu modifier sans aucun problème. Grâce au logiciel QT Creator et la bibliothèque Qt, nous avons créé une interface graphique très simple, ce qui rend l’utilisation du logiciel très intuitif.

Le logiciel que nous avons conçu est très utile pour modifier le format des images, si nous voulons utiliser avec succès dans la carte FPGA. Les images à convertir doivent être au format BITMAP 24 bits à cause de trois raisons :

  • Ce type de format ne pas compresser les images. Étant donné que l’image que nous voulons stocker dans le FPGA sera ne pas compressé, il faudra une image décompressée.
  • FPGA traitement d’image pour compression/décompression (JPEG/MPEG) déjà existe comme noyau ouvert IPs, mais il est très difficile à mettre en œuvre. C’est pourquoi il est plus facile de traiter des images qui sont déjà décompressés. Il convient de noter que la taille excessive de ce type d’images n’est pas un problème en raison de la zone de la mémoire disponible et la vitesse de transfert de données via le DMA.
  • Sa qualité est supérieure à 16 bits.
  • Il est disponible partout (beaucoup de logiciels disponibles comme « Paint » peut convertir n’importe quel type d’images au format BITMAP 24 bit).
  • La transparence n’est pas disponible. Qui nous donne plus de flexibilité en ce qui concerne la transparence dans notre propre façon.

Nous l’avons mentionné plus tôt la gestion de la transparence. Dans une question de fait, notre logiciel a été également créé afin d’être en mesure de régler les niveaux de transparence des couleurs d’une image donnée. Puisque notre carte graphique peut gérer jusqu'à 4 couches d’affichage indépendant, il est essentiel que nous soyons en mesure de modifier la transparence d’une image ou définir un transpareny couleur sur écran sinon multicouche itn n’apportera aucun bénéfice.

Nous avons deux options différentes pour cette transparence :

  1. La première consiste de rendre opaque une série de couleur (5 maximum). Ex : Rendre le fond d’un sprite transparent
  2. L’autre consiste à choisir la transparence de toutes les couleurs ne prenant pas en compte dans l’option numéro une. Ex : Rendre l’image d’un feu de 50 % transparent afin d’affiner son animation.

Procédure

Première étape : Chargement de l’image et en choisissant les bons paramètres de configuration.

On commence par choisir l’image à convertir et le chemin vers où nous voulons enregistrer. Puis, nous avons mis les paramètres de transparence que nous l’avons expliqué dans la section précédente. Lorsque l’image a fini de charger, le logiciel va commencer en lisant les premiers octets de l’image donnée. Ces octets contient les dimensions de l’image et ne sera pas copié dans le fichier de sortie car la carte FPGA ne tiennent pas compte de ces données mais utilise uniquement les données correspondant à un pixel. Après l’acquisition des premiers octets de l’image, le logiciel peut démarrer la conversion.

Deuxième étape : Conversion de l’image.

Dans cette deuxième phase le logiciel indiquera seulement chaque octet définissant les couleurs d’un pixel pour le mettre dans un format de 16 bits. C’est un processus simple utilisant un décalage droite binaire de 4 bits pour pouvoir disposer de 4 bits par couleur au lieu de 8 bits. Nous l’ajouter à ces couleurs d’og 12 bits 4 peu de transparence en utilisant les paramètres définis au début de la procédure.

Troisième étape : Définissant le bon format de l’image.

Cette dernière étape consiste à ajuster les données. La matrice BITMAP stocke les pixels décroissant, tenant compte du niveau de lignes. Depuis les spécifications du format image que nous voulons imposer un ordre croissant des pixels, il faut réorganiser les pixels dans le bon ordre. Nous avons rencontré le même problème à l’ordre du bit. Nous avons corrigé il en remplaçant 0xRGBA par 0xGRAB.

Une fois que l’image est au format voulu, la gauche seule chose consiste à transférer l’image vers la RAM de la FPGA utilisant le microcontrôleur STM32.

Articles Liés

Console de jeu portable Pi framboise 20 $

Console de jeu portable Pi framboise 20 $

Il y a des tonnes d'émulateurs jeu rétro Raspberry Pi autour sur l'internet, mais la plupart sont assez cher. Avec le nouveau $5 Raspberry Pi Zero, dans ce Instructable je vais vous montrer comment construire une batterie complètement portable alimen
Raspi Pip-boy, console de jeu Portable / ordinateur

Raspi Pip-boy, console de jeu Portable / ordinateur

Salut, je voudrais présenter mon premier projet de framboise-pi.Un Pip-boy comme ordinateur personnel (si vous êtes un Fan de Fallout, vous voyez ce que je veux dire) ! :Vue d'ensemble :- Framboise-pi modèle B + un écran tactile 2.8 LCD 8bits en para
Console de jeu portable (équipe de GPU)

Console de jeu portable (équipe de GPU)

CadrePour notre projet d'ingénierie, nos tuteurs voulaient nous faire face aux défis de la conception d'un système en temps réel avec des performances relativement élevé des ressources limitées (mémoire, bande passante).Les spécifications exigent une
Console de jeu Portable RetroPie pauvre

Console de jeu Portable RetroPie pauvre

J'aime les jeux vidéo. Je voudrais être capable de les emmener n'importe où que je vais pour jouer eux. Mais, j'ai un problème. Je n'ai pas trop d'argent à dépenser sur les jeux vidéo. C'est pourquoi j'ai pris une des choses que j'aime (jeux vidéo),
Comment faire une poche portable Nintendo 64 N64 console de jeu - iNto64

Comment faire une poche portable Nintendo 64 N64 console de jeu - iNto64

Ever voulais faire votre console de jeu Nintendo 64 (N64) dans un appareil portable portatif pour « sur le pouce » jouer ?Ce système fonctionne sur des batteries Li-ion sont assez puissants pour faire fonctionner le système, qui sont également des pi
Fait maison de Console de jeu Pentium III

Fait maison de Console de jeu Pentium III

Bonjour à tous ! Il y a plusieurs mois, je me suis embarqué sur un projet de construction d'une console de jeu 100 % à partir de zéro, basé sur le processeur Pentium III. Eh bien, tout, sauf la fourniture de CD drive et puissance. Il s'agit d'un trav
Système de jeu portable

Système de jeu portable

récemment, j'ai construit un système de jeu portable qui vous permet de jouer 12 * jeux Namco totalement RADICAL comme Pac Man, Dig Dug et tout ce que de bonnes choses.Maintenant, je tiens à rendre parfaitement clair cinq choses avant de commencer...
Comment faire un système de jeu Portable

Comment faire un système de jeu Portable

jamais pensé être capable de jouer de votre système de jeu préféré n'importe où ? Je suis sûr que vous avez. Suivant ce guide, vous pouvez apprendre à « portablize » la Nintendo Entertainment System.Dans ce Instructable je vais vous apprendre tout ce
Console de jeu matricielle Arduino

Console de jeu matricielle Arduino

Téléphone intelligent & iPad jeu est grand et tout amour Candy Crush & Angry Birds, mais rien ne peut toucher le charme de faire une console de jeu en propre et jouer avec lui. Il a été 2003 quand j'ai eu un portable Nokia 3310, et j'avais l'habit
Faire un système de jeu Portable-dans Photoshop !

Faire un système de jeu Portable-dans Photoshop !

C'est mon premier instructable qui visite l'univers puissant et extraordinaire de photoshop, j'espère que vous aimez !J'ai été surpris qu'il y avait rien de tel sur instructables jusqu'ici, alors j'ai pensé que je voudrais vous montrer tout mon proje
Console de jeu ultime classique manette pour adaptateur USB

Console de jeu ultime classique manette pour adaptateur USB

Cet article décrit comment utiliser un Arduino Leonardo ou Arduino Micro pour mettre à la disposition d'un ordinateur modern (p. ex. Windows PC, Mac ou Linux) jusqu'à trois manettes de console classique (Atari 2600, ColecoVision et éventuellement d'a
Console de jeu ultime Cooler

Console de jeu ultime Cooler

ce Instructable est pour le jeu Console Cooler ultime.  Après avoir ma PS3 et la Xbox 360 envoyé en réparation (plusieurs fois), que j'ai décidé que je devais arriver à une meilleure façon de garder la chaleur vers le bas à ces consoles de jeux cher.
El Jugador : Console de jeu DIY Retro

El Jugador : Console de jeu DIY Retro

sais un peu BASIC ou C ? Vous pouvez faire des jeux avec El Jugador, une console de jeu open source rétro basée sur une hélice de parallaxe.Nouveau!  Nous avons amélioré El Jugador, ça s'appelle Joueur rapide et vous pouvez le vérifier ici.Caractéris
Consoles de jeu vidéo!!!

Consoles de jeu vidéo!!!

S'il vous plaît jeter un oeil à ce que d'autres disent de mon travail comme MTV , PC WORLD , 1UP.COM , FANBOY et CRAZIESTGADGETSMerci de vérifier sur mon entrée.  J'ai fait des consoles de jeu vidéo et de l'électronique personnalisé depuis 04' - 05'.