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

  FORUM HardWare.fr
  Programmation
  C++

  [openGl] threads

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[openGl] threads

n°972765
kaloskagat​os
Posté le 05-02-2005 à 13:37:40  profilanswer
 

:hello:
 
 
Je réfléchis en ce moment sur l'architechture d'un jeu qui va demander pas mal de ressources probablement.
 
Il s'agit de détecter des mouvements avec une webcam, et de les reproduire dans un environement en 3D.
 
 
Sachant que la webcam fournit 15 images par secondes, le module acquisition/détection fournira 15 coordonnées par secondes.
 
D'un autre côté la scène en 3D devra être le plus fluide possible. Il faudra donc interpoler les coordonnées entre deux mesures.
 
 
Je suppose qu'il serait donc judicieux d'avoir 2 threads pour cela.
 
De plus le joueur devra avoir un retour webcam sur l'écran. Un thread supplémentaire pour afficher un tableau de pixel dans le viewer openGL?
 
 
Qu'en pensez vous?  :p


Message édité par kaloskagatos le 05-02-2005 à 14:05:06
mood
Publicité
Posté le 05-02-2005 à 13:37:40  profilanswer
 

n°972907
kaloskagat​os
Posté le 05-02-2005 à 19:14:47  profilanswer
 

up?

n°972914
Zeross
Posté le 05-02-2005 à 19:27:13  profilanswer
 

Tout ce que je peux te dire c'est que les drivers OpenGL Nvidia ne sont pas vraiment "thread safe" en tout cas on a eu quelques petits problèmes à ce niveau au boulot. Pour le reste désolé mais je ne peux pas t'aider.

n°972918
Chronoklaz​m
Posté le 05-02-2005 à 19:30:12  profilanswer
 

Détecter des movements avec une web-cam ... tu veux faire de la reconaissance d'image, t'as deja des idées la dessus ? parceque franchement c'est pas un truc facile.
 
Sinon ca à l'air sympa et ambitieux :)


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°972948
kaloskagat​os
Posté le 05-02-2005 à 20:12:50  profilanswer
 

C'est un projet commun que ma promo de DESS doit réaliser... en 1 mois ... :sweat: on est 17.
 
Tout ce qui est détection on sait faire, créer une scène en 3D aussi, mais faire tourner le tout en temps réel avec des sons et la gestion du réseau... ça semble pas évident, surtout qu'on va devoir se mettre tous d'accord...  :sweat:²
 
 
Voilà un boulot de recherche trouvé sur internet baptisé mytoy comme le jeu de chez Sony. Essayez si vous avez une webcam c'est très sympa. :)
http://koli.lame.hu/~goldberg/myto [...] php?p=news


Message édité par kaloskagatos le 05-02-2005 à 20:13:19
n°973001
Joel F
Real men use unique_ptr
Posté le 05-02-2005 à 23:22:40  profilanswer
 

ouais ouais, la reconnaissance d'image 3D telmps réel, y a des gens qui fotn des théses dessu, faudra voir a limiter vos ambitions.
 
et pour la 3D (2) webcams minimum seront necessaires (cf geometrie stereoscopique tout ca :o )

n°973098
cricri_
Posté le 06-02-2005 à 09:49:57  profilanswer
 

vi, ce n'est pas un simple petit projet ça, il peut y en avoir pour des années ...

n°973172
kaloskagat​os
Posté le 06-02-2005 à 12:55:28  profilanswer
 

pas besoin de deux caméras pour les contraintes qu'on s'est fixées, on fait pas de la stéréovision là. On cherche pas à faire de la reconstruction de mouvements 3D mais du tracking. voilà le programme de mon DESS cette année, je venais pas discuter des techniques qui seront mises en oeuvre, parce que la téhéorie on l'a, je voulais juste savoir comment se comportait une application openGl avec plusieurs threads.  
 
Est-ce que par exemple un modeleur 3D (style 3dsmax) utilise 1 thread par viewport? Je vous demande des conseils techniques là parce que jusqu'à présent je faisais de la 3D "en TP", de la vision "en TP" mais pas dans des conditions réelles d'application.

n°973177
chrisbk
-
Posté le 06-02-2005 à 12:58:29  profilanswer
 

(ton truc ca me rapelle ce qui se fait en reseau (interpoller entre deux coordonnées recu via le net))

n°973179
kaloskagat​os
Posté le 06-02-2005 à 12:59:43  profilanswer
 

chrisbk a écrit :

(ton truc ca me rapelle ce qui se fait en reseau (interpoller entre deux coordonnées recu via le net))


 
 
exactement, on va devoir gérer ça comme dans les jeux (je crois que c'est le dead reckoning).

mood
Publicité
Posté le 06-02-2005 à 12:59:43  profilanswer
 

n°973184
chrisbk
-
Posté le 06-02-2005 à 13:00:49  profilanswer
 

me semblait que ca s'appelait "biniou predicting" (bon, je me rapelle que du predicting, mais ca doit etre 'movement' ou un truc du genre). Jpense tu devrais pouvoir trouver de la ressource la dessus

n°973194
kaloskagat​os
Posté le 06-02-2005 à 13:05:20  profilanswer
 

ok thx pour l'info :)
 
 
Et pour l'openGl, c'est possible pour deux threads de se partager le color buffer pour que chacun écrive dans une partie de l'écran? (genre un thread écrit dans la moitié gauche, et l'autre dans la moitié droite). Deux surfaces de rendu indépendantes gérées par un seul conteneur, de manière à ce que le rendu de la partie gauche n'ait pas besoin d'avoir le même FPS que la partie droite.
 
 
Je me fais bien comprendre?  [:boidleau]

n°973196
chrisbk
-
Posté le 06-02-2005 à 13:07:07  profilanswer
 

alors la jpeux pas te dire, absolument aucune idée. Dans l'absolu je sais pas si je ferais ca comme ca, vu qu'il faudra bien flipper() a un moment, et si tu flippe pendant que l'autre thread ecrit encore dans le color buffer, bonjour la tambouille.
 
Plutot maj les 2 images au rythme du plus rapide, qui a ce que la meme scene soit dessinée plusieurs fois sur une partie de l'ecran (et perso je doute que ta CG soit re-entrante, mais bon)

n°973204
kaloskagat​os
Posté le 06-02-2005 à 13:11:26  profilanswer
 

comme c'est deux parties de l'écran différentes je me disais qu'il n'y avait pas besoin de mutex pour gérer le color buffer puisque les threads n'accèderaient pas à la même partie de l'écran. Mais il doit bien exister en openGl un moyen d'avoir plusieurs zones de rendu indépendantes ? Je ne sais pas quoi utiliser comme mot clé pour ma recherche sur google là :D

n°973206
chrisbk
-
Posté le 06-02-2005 à 13:12:35  profilanswer
 

oué enfin c'est deux partie de l'ecran differentes, mais derriere c'est la meme cg, et le meme buffer. Perso, je le sens pas :d

n°973212
kaloskagat​os
Posté le 06-02-2005 à 13:15:17  profilanswer
 

ok oué je vais chercher plutôt du côté des fonction openGl alors pour faire plusieurs viewports :D

n°973268
retrox
Posté le 06-02-2005 à 14:46:48  profilanswer
 

Tu pourrais aussi créer 2 fenetres avec chacune son thread et son RC associé.

n°973674
kaloskagat​os
Posté le 07-02-2005 à 00:09:07  profilanswer
 

ok je check ça :)


Message édité par kaloskagatos le 07-02-2005 à 00:09:24

---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »

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

  [openGl] threads

 

Sujets relatifs
[C-OpenGL] Qu'est ce que MESA ???[C OpenGL] Ou trouver les sources de Quake 2 ?
[MFC/OPENGL] Problème de chargement de texturethreads et fonctions membres / visual C++
[openGL] problème de conpilationCommunication entre threads [Résolu & Code Source Final]
Comment faire communiquer des threads ?[OpenGL] Afficher une texture en mosaique
[OpenGL] Probleme avec le rouge ... [resolu]liste chainee dynamique sur plusieurs threads
Plus de sujets relatifs à : [openGl] threads


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