Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2956 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Linux/C++] Faire une application de type "GPS"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Linux/C++] Faire une application de type "GPS"

n°886424
AZorbas
That's me , Alexis Zorbas !
Posté le 30-10-2004 à 13:46:52  profilanswer
 

Bonjour à tous !
 
Dans le cadre de mon travail de fin d’étude, je dois réaliser une application qui puisse afficher des cartes de navigation sur un écran en fonction de données GPS. Je dois pouvoir la réaliser sous Linux en C++ (idéalement dans ce langage).
 
Ma question : avec quel API je peux afficher des images à l’écran sachant que la vitesse d’affichage est critique. Au pire je dois pouvoir afficher mes images toutes les 90ms.
 
J’aimerons donc afficher à l’écran des images en me passant de X par exemple. J’ai entendu parlé du framebuffer et également de l’API SDL avec des drivers framebuffer.
 
Quel serait la meilleure solution pour afficher des images à une telle cadence ?
 
 
Je vous remercie tous d’avance ! ! !
 
 :jap:  :jap:  :jap:
 
 
EDIT : Il m'est également nécessaire d'afficher plusieurs données en couche au dessus de l'image. Je ne sais pas quel API serait le plus simple ?


Message édité par AZorbas le 30-10-2004 à 14:38:32

---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
mood
Publicité
Posté le 30-10-2004 à 13:46:52  profilanswer
 

n°886459
Lam's
Profil: bas.
Posté le 30-10-2004 à 15:21:06  profilanswer
 

Pour faire du 11 images/secondes, même X tout seul marchera bien (en utilisant X-shm au pire). Il existe des extensions Frame-buffer (DGA par exemple, faire une recherche sur le forum, j'ai donné un lien à madprog). Mais le plus simple, ça reste d'utiliser SDL. Il gère tout ça très bien, etc. (Allegro fait ça aussi je crois).  
 
Pour ce qui est des couches, SDL ne gère pas la composition à ma connaissance, donc tu devras les écrire toi-même (ou alors utiliser OpenGL par exemple), mais c'est pas la mort. A priori, la seule difficulté mineure, ça sera d'afficher du texte: il te faudra utiliser des libs spéciales si tu veux du beau truetype avec antialiasing, etc.

n°886478
Kristoph
Posté le 30-10-2004 à 15:35:36  profilanswer
 

Lam's a écrit :

Pour faire du 11 images/secondes, même X tout seul marchera bien (en utilisant X-shm au pire). Il existe des extensions Frame-buffer (DGA par exemple, faire une recherche sur le forum, j'ai donné un lien à madprog). Mais le plus simple, ça reste d'utiliser SDL. Il gère tout ça très bien, etc. (Allegro fait ça aussi je crois).  
 
Pour ce qui est des couches, SDL ne gère pas la composition à ma connaissance, donc tu devras les écrire toi-même (ou alors utiliser OpenGL par exemple), mais c'est pas la mort. A priori, la seule difficulté mineure, ça sera d'afficher du texte: il te faudra utiliser des libs spéciales si tu veux du beau truetype avec antialiasing, etc.


SDL + OpenGL + SDL_ttf est une combinaison très classique.

n°886480
AZorbas
That's me , Alexis Zorbas !
Posté le 30-10-2004 à 15:45:01  profilanswer
 

Merci beaucoup pour votre aide !
 
Pour X, je ne préfère pas trop l'utiliser pour des raisons de poids (c'est un a priori qui est peut-être faux). Idéalement l'application devrait être la plus compacte possible.
 
SDL + OpenGL : ça passe par X ?
 
SDL_ttf : terrible ! A priori ce serait exactement ce qu'il me faudrait pour afficher des données suppl sur l'écran !
 
 
Une remarque, a priori 90ms ça parait peu, mais je dois encore derrière décoder et afficher des cartes de navigation au format CADRG qui englobent le monde entier (peu aller à plusieurs GO) ... voilà pq a priori je ne préfère pas passer par X.  
 
 
merci bcp !  :jap:


---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°886482
Lam's
Profil: bas.
Posté le 30-10-2004 à 15:49:23  profilanswer
 

SDL passe par X ou par la Svgalib (si ça existe encore).  
 
OpenGL, il me semble que ça ne fonctionne que sous X. A voir en fonction de ta carte graphique.
 
Sinon, X n'est pas gros, et tout peut se faire en liant des shared-libs, donc avec un poids de ton executable tout rikiki.  
 
Ce qui rame et est gros, c'est KDE/Gnome/Enlightenment. Mais X lui-même est lean&mean. Il faut juste toujours se rappeller qu'il est asynchrone, ce que beaucoup de développeurs traitent par dessus la jambe. :( Donc pas de XFlush à chaque scanline, ou je lache les chiens. :)
 

n°886484
Kristoph
Posté le 30-10-2004 à 15:54:49  profilanswer
 

AZorbas a écrit :

Merci beaucoup pour votre aide !
 
Pour X, je ne préfère pas trop l'utiliser pour des raisons de poids (c'est un a priori qui est peut-être faux). Idéalement l'application devrait être la plus compacte possible.
 
SDL + OpenGL : ça passe par X ?
 
SDL_ttf : terrible ! A priori ce serait exactement ce qu'il me faudrait pour afficher des données suppl sur l'écran !
 
 
Une remarque, a priori 90ms ça parait peu, mais je dois encore derrière décoder et afficher des cartes de navigation au format CADRG qui englobent le monde entier (peu aller à plusieurs GO) ... voilà pq a priori je ne préfère pas passer par X.  
 
 
merci bcp !  :jap:


Faut pas croire que X c'est si lent que ça. SDL+OpenGL devrait être largement suffisant pour tes besoins de perfs si tu veux des effets spéciaux comme de l'alpha. Sinon, SDL seul devrait suffire largement. 90ms c'est environ 11 fps et les jeux sous Linux arrivent quand même à faire plus de 11 fps que je sache :D

n°886487
WhatDe
Posté le 30-10-2004 à 15:58:46  profilanswer
 

Kristoph a écrit :

Faut pas croire que X c'est si lent que ça. SDL+OpenGL devrait être largement suffisant pour tes besoins de perfs si tu veux des effets spéciaux comme de l'alpha. Sinon, SDL seul devrait suffire largement. 90ms c'est environ 11 fps et les jeux sous Linux arrivent quand même à faire plus de 11 fps que je sache :D


[troll]
Avec les ATI c'est presque mission impossible
[/troll]

n°886488
Lam's
Profil: bas.
Posté le 30-10-2004 à 15:59:29  profilanswer
 

Kristoph a écrit :

et les jeux sous Linux arrivent quand même à faire plus de 11 fps que je sache :D


Comment tu peux savoir ? Half Life 2 n'est pas encore sorti. :whistle:

n°886489
AZorbas
That's me , Alexis Zorbas !
Posté le 30-10-2004 à 16:01:20  profilanswer
 

Donc a priori X n'est pas si lourdingue que ça ? J'essaierai pour voir ... j'avais dans l'idée de me passer du maximum de librairies et programmer le terminal (:D) avec au pire utiliser des petites API pour m'aider à afficher à l'écran mes images.
 
Autre question, je peux programmer en C++ avec le SDL ?


Message édité par AZorbas le 30-10-2004 à 16:02:37

---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°886490
Kristoph
Posté le 30-10-2004 à 16:02:49  profilanswer
 

AZorbas a écrit :

Donc a priori X n'est pas si lourdingue que ça ? J'essaierai pour voir ... j'avais dans l'idée de me passer du maximum de librairies et au pire utiliser des petites API pour m'aider d'afficher à l'écran mes images.
 
Autre question, je peux programmer en C++ avec le SDL ?


La SDL c'est du C donc oui tu peux l'utiliser en C++. Par contre il ne faut pas s'attendre à avoir une API complètement objet.

mood
Publicité
Posté le 30-10-2004 à 16:02:49  profilanswer
 

n°886491
Lam's
Profil: bas.
Posté le 30-10-2004 à 16:04:10  profilanswer
 

Bah si X était lourdingue, tu ne le retrouverais pas sur certains PDA.  
 
Pour le C++, c'est possible. Il y a même plusieurs libs contribs. qui encapsulent les appels dans des classes C++.
 
Bon, va coder maintenant, au lieu d'alimenter les trolls. ;)  
 
Tu verras, c'est simple, pratique, et il y a plein d'exemples dispos.

n°886493
AZorbas
That's me , Alexis Zorbas !
Posté le 30-10-2004 à 16:09:04  profilanswer
 

Merci beaucoup à tous !!!
 
:jap: :jap: :jap:


---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Linux/C++] Faire une application de type "GPS"

 

Sujets relatifs
Commande INTERFAC TO SUBROUTINE (Vis. Fort.) à remplacer sous LinuxOCX - récupérer le handle de l'application qui l'utilise
[MySQL] valeur fixe dans requete de type selectC sous Linux
[ Dos Batch ]Set & Typecourbes 2D type (x,y) avec Qt
Compilation java linuxphp sous linux
[Linux] Service utilisant Inetd 
Plus de sujets relatifs à : [Linux/C++] Faire une application de type "GPS"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR