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

OpenGL Discussion :

pipline graphique au niveau de cpu


Sujet :

OpenGL

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 74
    Points : 53
    Points
    53
    Par défaut pipline graphique au niveau de cpu
    Bonjour
    Je fais actuellement des petits programmes 3d à l'aide d'OpenGL, mais jusqu'à ce jour, je n'arrive pas à comprendre comment fait-on pour transformer le pipeline graphique sous forme des données éxploitable par le microprocesseur afin de les charger à l'écran comme des images 3D.
    Merci pour vos explications, j'aimerais bien de m'indiquer des tutos ou des cours expiquant ceci.
    Merci beaucoup.

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Je n'ai absolument rien compris a cette question : " transformer le pipeline graphique sous forme des données éxploitable par le microprocesseur afin de les charger à l'écran comme des images 3D."

    Donc au lieu d'y répondre je vais d'expliquer comment marche la 3D , ce qui est relativement simple vu que la 3D c'est un ensemble de triangle transformer avec une projection 3D.
    Grosso modo , tu as des coordonné x,y,z de ton triangle tu le multiplie par une matrice de projection et cela donne des nouvelles coordonnés pour l'écran qui donne l'effet de perspective désiré , ensuite il faut juste dessiner les 3 points de ton triangle
    A l'époque ces calculs se faisait coté CPU , maintenant tout cela se fait coté GPU néanmoins les fonctions de translation/rotation/scale se font coté CPU (qui sont des multiplication de matrice 4x4).

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 74
    Points : 53
    Points
    53
    Par défaut
    Je veux juste comprendre comment peut on traiter ceci sur cpu , je sais que ces calculs sont dédiés au gpu, mais je suppose que si j'ai bien compris le principe pour cpu je vais faire de même pour gpu.

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Pour les détails , il faut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    point3D = MatriceFinal * vertex
    point_triangle.x = point3D.x/point3D.w
    point_triangle.y = point3D.y/point3D.w
    point_triangle.z = point3D.z/point3D.w //Z ici pour le ZBuffer
    Comme la division est assez lente en général on prefere faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    w =1.0f/point3D.w
    point_triangle.x = point3D.x*w
    point_triangle.y = point3D.y*w
    point_triangle.z = point3D.z*w
    (bien sur il faut le faire 3 fois pour avoir un triangle).

    Ensuite tu dessine ton triangle (x,y) pour la rastérisation tu fait un test a chaque pixel de Z pour savoir si tu dessine ou pas ton pixel !

    Et tu as un triangle en 3D.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Perso si l'on me parle de pipeline, je pense plutôt aux différents shaders agissant à différents stades du rendu. https://www.khronos.org/opengl/wiki/...eline_Overview
    Mais vue la question, ça doit pas être ça, parce que l'on ne pose généralement pas ce genre de question, ou en tous cas pas comme ça...

    Si tu veux exploiter tes données par le CPU, tu dois faire le rendu dans une texture et récupérer cette texture dans le CPU. Mais c'est plutôt le CPU qui envoit les données au GPU et le laisse se débrouiller dans les cas classiques d'utilisation.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Problème d'affichage au niveau de la carte graphique
    Par Within dans le forum Composants
    Réponses: 5
    Dernier message: 16/11/2009, 19h25
  2. GPU carte graphique et CPU processeur central
    Par sebatlante dans le forum Composants
    Réponses: 7
    Dernier message: 16/02/2009, 14h46
  3. [Refroidissement] CPU et carte graphique
    Par kromartien dans le forum Composants
    Réponses: 4
    Dernier message: 07/04/2007, 16h12
  4. moniteur ip(tcp/udp)/cpu/ram graphique
    Par clowncoder dans le forum Mon programme
    Réponses: 1
    Dernier message: 21/01/2007, 15h38

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