IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Pour ou contre le multithreading dans les moteurs 3D ?

Votants
75. Vous ne pouvez pas participer à ce sondage.
  • Pour

    72 96,00%
  • Contre

    3 4,00%
Développement 2D, 3D et Jeux Discussion :

Que peut apporter le multithread au développement de jeux ? [Débat]


Sujet :

Développement 2D, 3D et Jeux

  1. #81
    screetch
    Invité(e)
    Par défaut
    quand je dis atomique je pense souvent interlocked. J'espere que c'etait clair pour tous, sinon, mea culpa.

  2. #82
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Exactement, sur un systeme multiprocesseur, l'atomicité de l'instruction ne suffit pas. A un moment, il faut bien qu'il y ai une mémory barrier et une gestion de la cohérence des cache, ce qui aura une influence sur tous les cores, même si le lock est local.

    Un GPU doit forcément gere ça autrement, car il arrive a très bien gerer tout ça malgré un nombre d'unité d'éxécution très grand et des taches très courtes (enfin il vaut meiux ).

    pour l'instant, je me contente de faire en sorte que les taches soient suffisement importante pour que le temps de réartition de celles-ci soit négligeable devant le temps de la tache, mais sur un nombre important de core, je ne voit pas bien vers ou aller.

    Ton système est interessant screetch, mais il a selon moi deux gros problèmes :
    Il ne gere pas les taches de longeur très innégales. Or on ne sait souvent pas combien de temps va prendre une tache (je pense a la détéction de collision, qui peut aussi bien s'arêter au premier test qu'amener a une détéction du point d'impact).
    On aura toujours un soucis avec une grand nombre de core (le système va montrer ses limtes avec 1024 cores par exemple).

    Qui plus est, les langages tels que le C++ réordonnent les instruction, ce qui peut amener le code a devenir non thread safe (il faut du coup regarder ce qui est compilé pour voir si c'est correct, voir retravailler l'asm si ca ne l'est pas . . .).

    On fait clairement dans la Mac Gyver a l'heure actuelle, mais ça ne peut pas continuer indéfiniment comme ça . . .

  3. #83
    screetch
    Invité(e)
    Par défaut
    je ne vois qu'un gros probleme dans ce que tu dis, deadalnix, mais tu as dit qu'il y en avait deux ?

  4. #84
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    1/ Les tache de longeur très innégales vont poser problème.
    2/ Le fait que cela ne fait que retarder le problème d'un système comme le mien (ce qui est donc mieux, mais loin d'être une vraie solution).

  5. #85
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Un GPU doit forcément gere ça autrement, car il arrive a très bien gerer tout ça malgré un nombre d'unité d'éxécution très grand et des taches très courtes (enfin il vaut meiux ).
    Ben c'est simple, un GPU ne fonctionne pas du tout comme un CPU avec plusieurs cores. C'est ce qu'il faut que tu te mettes dans le crane.

    Les threads (dans les shader cores) sont executés en locked step (program counter interdépendant) dès qu'il est possible de le faire et n'ont pas de mémoire ou de données partagées (grâce au modèle de "pixel et shader programs"). Des tampons (buffers) absorbent les temps variables d'exécution aux endroits où il y a besoin de réordonnancement (au cas où deux tâches lancées simultanément finissent l'une après l'autre et ont besoin d'être réordonnancé par exemple pour le test avec le z buffer ou le triangle setup).

    Je ne sais pas non plus où tu as été chercher que Z-test implique branchement. En tout cas pas branchement dynamique au sens CPU, au pire un masque d'écriture, au mieux une élagation (pruning) d'une grosse masse de travail ce qui au contraire libère des unités pour d'autres tâches.

    Bref, j'ai l'impression que tu vois le GPU comme un gros CPU multi-core. Mais ce n'est pas du tout l'approche usuelle. Certes il y a plein d'autres problèmes inhérents au GPU (goulet d'étranglement sur le setup, maximisation de la bande passante et de la cohérence spatiale, maximisation de l'utilisation des unités de math sur un système balancé automatiquement etc..).

    Certes certains (Intel) voudrait faire en sorte que le GPU se programme plus comme un CPU ce qui est un peu un cauchemard en réalité. Mais ce n'est pas la réalité aujourd'hui.

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  6. #86
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Non, je ne vois aps le GPU comme un CPU multicore. Je constate justement que ça ne marcherait pas du tout.

    Du coup, je me pose la question de la pertinence d'un nombre important de cores CPU.

    Bien sur, il a le fait que chacun des thread part d'un pixel et arrive a un pixel différent (si on prend l'exemple du pixel shader). Du coup, on a des soucis de synchronisation en moins car on ne travaille pas sur les mêmes données.

    Prennons l'exemple du Z-test . J'ai (enfin, le GPU a) un pixel interpolé a partir des sommets. Il compare le Z de ce pixel a ce qui est marqué dans le Z buffer. Si le pixel en question est devant, il continu le traitement, sinon il passe a un autre pixel.

    C'est la tout le soucis. Le choix de ce nouveau pixel, il sort d'ou ? Il faut bien de la synchro à ce moment la, comment le GPU le gère-t-il ?

    La ou tu as raison, c'est que c'est l'attitude d'intel ou consort qui me fait tiquer. Les CPU en parallèle, c'est bien joli, mais ca va montrer ses limites rapidement, a moins de mettres des solutions au niveau matériel ET logiciel en place (comme cela existe sur un GPU).

  7. #87
    screetch
    Invité(e)
    Par défaut
    Les taches longues ou courtes seront mieux reparties sur 1024 cores que sur 2. Le vrai probleme des 1024 cores serait de les occupper tous, pas de faire la repartition elle meme.

  8. #88
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Prennons l'exemple du Z-test . J'ai (enfin, le GPU a) un pixel interpolé a partir des sommets. Il compare le Z de ce pixel a ce qui est marqué dans le Z buffer. Si le pixel en question est devant, il continu le traitement, sinon il passe a un autre pixel.

    C'est la tout le soucis. Le choix de ce nouveau pixel, il sort d'ou ? Il faut bien de la synchro à ce moment la, comment le GPU le gère-t-il ?
    Tout dépend de la granularité :
    Le GPU moderne ne peut pas descendre en dessous du Quad (quatre pixels), donc si un seul pixel est masqué sur un quad de pixels alors les quatre pixel shaders sont tout de même exécutés : il en a besoin pour les calculs de dérivés dans le pixel shader ! d'où l'intérêt du locked step d'ailleurs, en pratique le quad shader est une unité de calcul vectorielle qui travaille sur quatre pixels simultanément même si le mode de programmation est scalaire et traite les pixels indépendamment.

    Si la totalité du quad est caché, alors l'unité de pixel shader va tout simplement ignorer la tâche et prendre la suivante dans sa queue. Je ne vois pas où est le problème.

    Quant à la synchro, tu raisonnes encore comme pour un CPU. Un GPU c'est du hardware spécialisé. là où il faudrait écrire un programme pour implémenter le test de Z et des manipulations de listes ou d'arrays ou je ne sais quoi, le GPU l'implémente sous forme de transistors organisés dans un pipeline quasi linéaire. Rien n'interdit d'avoir un mode d'execution synchro entre plusieurs parties si les temps d'execution sont prédictibles.

    clipping -> setup -> raster -> early z -> shading ->

    Si shading est bouché, il propage l'information en amont, l'unité en amont a donc soit le choix de s'interrompre soit de continuer à exécuter jusqu'à ce qu'elle ait rempli un tampon temporaire. La seule synchro nécessaire est entre une unité et celle qui la précède et celle qui la suit et cela ne se fait pas par des system-wide locks programmables comme un GPU, mais par une logique plus simple retranscrite en transistors (pour simplifier à l'extrême).

    Il y a les mêmes choses dans un CPU (un CPU est également pipeliné), le langage de programmation = interface du hardware mais le hardware lui-meme a beaucoup de logique interne sous forme de transistors qui n'est pas directement accessible programmatiquement.

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  9. #89
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    N'aie pas peur d'en dire plus, tu commence a rentrer dans le vif du sujet N'aie surtout pas peur d'y aller franchement avec la mécanique interne des CPU, c'est mon domaine. Le GPU moins, bien que j'en conniasse les grande lignes.

    Continuons sur le Z test. En supposant qu'aucun des pixels du quad ne le passe, alors le shading ne se lance pas. Si un des 4 le passe, alors ces points sont mis en attente, et l'étage suivant les prend dès qu'il en a finit avec les précédents.

    On peut supposer un système de flag ou quelque chose de proche pour signaler si l'unité de calcul est prête ou non a prendre de nouvelles données.

    Comme on ne sait pas quel temps va mettre le shader a s'éxécuter (ou même s'il va s'éxécuter) les aléas vont se propager jusqu'a l'entrée du pipeline. Celui-ci sera amené a être prêt ou non a recevoir de nouvelles données a plus ou moins n'importe quel moment.

    Cette entrée doit se trouver quel part au niveau du raster dans ton shema.

    ceci veux dire que mes unités de calcul peuvent être amenées à demander des nouveaux pixels à n'importe quel moment ou presque.

  10. #90
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    En tant que designer de hardware ta responsabilité c'est de dimensionner les fifos et autres tampons de manière raisonnable (pas trop grande pour pas bouffer des transistors, pas trop petite pour ne pas affamer telle ou telle unité) de manière à laisser un peu de marge sur l'imprévisible.

    Bien évidemment ce n'est pas uniquement une question de taille de FIFO si les flux sont trop assymétrique :
    si le z-test refuse les pixels trop rapidement (ça peut arriver notamment parce que les GPUs intègre un z-test hierarchique qui peut refuser des centaines de pixels par cycle), alors ton unité de pixel shader peut se retrouver à attendre qu'on lui fournisse du travail. Mais si ça arrive tu t'en fiches parce que c'est le paradis pour toi (le pixel le plus rapide c'est celui qui n'est pas tracé) .

    Enfin jusqu'à un certain point, ça veut aussi dire que tu es peut-etre setup limited. Et là.. il faut trouver un moyen au niveau de l'application de diminuer le coût du setup. (sur PS3 qui a tendance a être facilement setup limited, certains programmeurs font du culling de géométrie sur le Cell pour "assister" le GPU).

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  11. #91
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par LeGreg Voir le message
    Enfin jusqu'à un certain point, ça veut aussi dire que tu es peut-etre setup limited. Et là.. il faut trouver un moyen au niveau de l'application de diminuer le coût du setup. (sur PS3 qui a tendance a être facilement setup limited, certains programmeurs font du culling de géométrie sur le Cell pour "assister" le GPU).
    Tu es sûr que c'est propre aux programmeurs PS3? Selon moi, même sans "The Cell", ce n'est pas nouveau qu'on utilise des méthodes de subdivision de l'espace puis une méthode de culling (view frustum culling ou contribution culling par exemple) pour macher le travail du GPU en lui passant une plus petite partie de la géométrie.

  12. #92
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Le culling grossier n'est pas spécifique (frustum culling, conditional rendering etc) et effectivement, de la meme façon que le pixel le moins cher c'est celui qui n'est pas tracé, le triangle le moins cher et l'objet (mesh + renderstate) le moins cher est celui qui n'est pas envoyé à la carte graphique (et qui n'est pas à traiter par le CPU).

    Le culling dont on parle sur PS3 (je n'ai pas de chiffre ou de nom à donner, désolé) était un peu peu plus précis : en général on considère que faire du culling/vertex processing par triangle sur le CPU est trop coûteux pour le gain apporté. Mais dans certaines situations comme sur PS3 c'était bénéfique, sans compter que le vertex shader est fixe sur PS3 (rsx basé sur geforce6/7) contrairement aux derniers GPUs qui partagent les unités de math entre vertex et pixel.

    C'est un pur trade off comme souvent en programmation. Le PC tend à ne pas avoir un core ou de SPE à dédier au vertex processing (sauf sur certaines configs déséquilibrées avec un CPU démesuré pour un GPU bas de gamme) et donc dépenser du temps CPU pour ça parait futil surtout que c'est une fraction de la base utilisateur (qui peut toujours baisser les détails et le nombre de polygones à afficher), sur console le hardware est fixe (ça touche 100% de la base), l'API est ultra légère avec peu d'overhead, il faut booster les graphismes au maximum pour paraitre concurrentiel au niveau des graphismes. Et il y a probablement un SPE qui peut-etre dédié à la tâche en question.

    Mais effectivement même quand on programme même sur PC il faut toujours faire attention à bien déterminer son goulet d'étranglement (pour ne pas chercher à réduire le coût CPU quand c'était le setup qui bloquait etc).

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  13. #93
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    J'aurais une question et je cherche plein d'infos a cette reponse mais c'est tres flou dans mes conclusions !
    Je pense qu'ici je ne peux rêver mieux pour la poser...

    J'ai appris que le direct X11 va gérer le multithrading avec un système de buffer...
    Le directX11 arrive en début 2009 ainsi que les cartes graphiques...bon OK je vous apprend rien

    Je découvre une très grande complexité dans la programmation que j'avais du mal a soupçonner en vous lisant assez silencieusement et c'est très instructif.

    Il faut attendre que le multlithreading soit optimisé a combien de % avant d'être validé, et surtout avez vous une date officiel, estimé, ou une idée personnel de quand est-ce que le premier jeux (*Alan Wake ) pointera le bout de son nez avec une gestion multitreading sur plusieur core ????
    ...une limite commerciale ?

    http://fr.youtube.com/watch?v=mV2AYo...eature=related
    http://fr.youtube.com/watch?v=CLEBOn9K5Nk&NR

    1an , 5ans ?
    N'hésiter pas a répondre les gars toutes vos réponses sont les bienvenues et merci

    encore une tant que j'y suis
    Le jeux devra t-il etre spécialement devellopé pour etre gere sur plusieurs CPU ou une sorte de patch qui analyse le programme et dispatche les charges est envisable a terme ?

  14. #94
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Il y a déjà des débuts de choses. Il faut par contre repenser pas mal de choses et ça prendra du temps à être bien maîtrisés.

    La prochaine génération de moteurs devrait bien supporter ces technologies (je penses à tech5 par exemple). Comme aucune date de sortie n'est annoncée . . .

    Disons que cette première génération va exploiter la chose, mais des améliorations vont être amenées au fil du temps.

  15. #95
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    C'est vraiment enorme....merci deadalnix mais toujours pas une date...Alan Wake sortirai en 2009 ?
    Tu dis que cela prendra du temps mais combien de de temps a peu pres ?

    Sans parler du Nehalem (qui ne sera pas abordable avant le 32nm) il vaut mieux prendre un Quad@3.6Ghz ou un C2D@4.2Ghz pour les jeux multicore qui vont arriver...si il vont arriver un jour ! Il arrive quand ? La monter en Frequence c'est terminé je pense ?

    Vous en pensez quoi ?
    merci

  16. #96
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    La montée en fréquence n'est pas terminée. Comme on en discutait plus haut, le parallélisme a des limites. Certaines choses ne sont pas parallélisable ou difficilement.

    Je pense que la solution sera dans une archi avec quelques cores complexes destinéés a éxécuter l'applicatif (comme les cores de CPU actuels) le tout secondé d'un armada d'unités de calculs plus simples.

    Mais on est encore loin de ce genre de choses. Pour le jeu, je pense que le C2D reste encore une valeur sur pour un moment. En effet, d'ici que 4 cores soient bien exploités par les jeux, le C2D ne sera de toute façon plus d'actualité.

  17. #97
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut Voir le processus
    Salut tous le monde;
    Ce que peut aporter le multithreading aux jeux video.
    C'est une reponse un peu bete; il faut demarrer un jeux récent comme "call fo duty advance war fighters" ou "assassins creed" ..
    Allez dans le gestionnaire des processus et voir combien de "threads" portent le processus
    If you type Google into Google, you Can break the internet" - The IT Crowd

  18. #98
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    La répartition des taches n'est pas vraiment très efficace dans ces moteurs. Les thread sont souvent la pour charger des ressources en asynchrone, gere certains modules spécifiques comme le son ou l'ia, mais ca reste de parallélisme de taches. Le potentiel du multithread peut être bien plus grand.

  19. #99
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut directx9_c
    J'ai fait quelques programmes en d3d ( la version 9c) mais je pense que le multithreading est pour le future quand il y aura du vrai paralellisme ( dans les ordinateurs personnels ) car pour le moment sa reste du "pseudo-parallelisme"
    If you type Google into Google, you Can break the internet" - The IT Crowd

  20. #100
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    attention avec directx 11, certains semblent "l'attendre" comme le messie
    n'oubliez pas qu'aujourd'hui le rendu est déjà massivement multithreadé au sein du GPU
    perso je n'attend rien de directx 11 tout comme il ne falait rien attendre de directx 10 qui, au final, n'est rien d'autre qu'une machine commerciale pour pousser vista devant xp
    de là à croire qu'il sera là début 2009, si on parle en semestre, ce sera pas avant juin et il faudra vista

    Citation Envoyé par copter74 Voir le message
    Il faut attendre que le multlithreading soit optimisé a combien de % avant d'être validé, et surtout avez vous une date officiel, estimé, ou une idée personnel de quand est-ce que le premier jeux (*Alan Wake ) pointera le bout de son nez avec une gestion multitreading sur plusieur core ????
    le multithreading EST une optimisation
    qu'entends tu par "optimiser le mutithreading" dans ce cas ?
    des jeux multithreadés il en existe déjà, supreme commander est bien optimisé jusque 3 coeurs
    l'avenir du multithread sera lié à l'amélioration des compilateurs et des profileurs afin de faciliter le parallélisme des taches pour le programmeur
    pour une date, voir avec madame irma

    et le retour au "software rendering" qui, grace à la multiplication des coeurs d'execution, reprendra le dessus sur les pipelines des cartes graphiques rigides, on va devoir se réadapter, OpenCL sera je pense de la partie
    le GPU sera un coprocesseur au même titre que la FPU et surtout, les développeurs auront une plus grande liberté dans leur moteur de rendu (fini les triangles ?)
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

Discussions similaires

  1. Que peut on utiliser à la place des popup
    Par david42 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/02/2006, 08h21
  2. [UML] Que peut-on vraiment faire avec ces logiciels ?
    Par pugnator dans le forum Outils
    Réponses: 6
    Dernier message: 07/12/2005, 11h31
  3. Que peut-on faire avec une vue ?
    Par Invité dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 20/10/2005, 11h13
  4. [Securité]Que peut-on faire contre un décompilateur?
    Par Hannappel dans le forum Langage
    Réponses: 3
    Dernier message: 02/10/2005, 12h36
  5. Réponses: 1
    Dernier message: 27/05/2005, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo