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 :

DC / RC


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Arnaudv6
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 82
    Par défaut DC / RC
    Alors...
    l'idee, c'est que je veux savoir ce que fait glut reelement.
    voilà ou j'en suis :
    - Open GL est independant de l'environement => à nous de l'integrer dans l'environnement de travail
    - Glut sait faire ca (creer les fenetres et discuter avec Open GL) 8)
    mais la, un hic :
    le seul truc dont a besoin open gl, c'est le device context,
    et le rendering context qui en découle, non ?
    La création de fenetre sert à windobe ou linux, on est d'accord ?
    Que contiennent le DC et le RC ? google ne me répond pas...
    Un adresse vers les buffers ? leur taille ?
    Merci à ceux qui sauront m'éclairer

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    en fait openGL ne travail pas directement avec la carte 3D (drivers) comme le fait Direct3D, il ne travail qu'avec le systeme de fenetrage, qui lui donne donc acces au driver (et permet donc la portabilitée car c'est le systeme de fenetrage de l'OS qui lui donne acces au drivers.)

    et donc sous WGL, ce sont ces rendering context et device context qui permettent de communiquer avec les drivers.

    j'espere que cette explication tres grossiere te permettra de mieux comprendre comment ca marche...

    @+
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    Membre confirmé Avatar de Arnaudv6
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 82
    Par défaut
    Merci bafman 8)
    Bon, une question découle quand meme :
    que sont en mémoire ces DC et RC : des pointeurs sur structures ?
    que contiennent les structures ?
    est-il envisageable si l'on a les sources de son driver, de se passer de ces contextes ?
    as-tu un lien, qui t'éviterait l'ennui de mes questions ?
    Merci beaucoup en tout cas

  4. #4
    Membre confirmé Avatar de Arnaudv6
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 82
    Par défaut
    Bon... absence de réponse...
    on va résumer la question a l'essentiel :
    Que sont en mémoire ces DC et RC : des pointeurs sur structures ?
    que contiennent les structures ?
    Voilà, si quelqu'un sur ce forum a la réponse

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

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 583
    Par défaut
    Le DC est le "Device Context" = contexte de périphérique (où périphérique = carte vidéo dans le cas de l'affichage)

    Le RC c'est le "Rendering Context" = context de rendu, là où l'affichage est pris en compte, le rendu quoi

    dans le cas d'OpenGL il s'agit de Handles (HDC et HRC), tu pourrais assimiler cela à des pointeurs mais certains programmeur te crieraient dessus lol

    je te conseille de ne pas te soucier de ce genre de choses et de passer à SDL (ou autre librairie de fenêtrage) histoire de simplifier la création de fenêtre et Surtout de garder le côté portable d'opengl

    vas consulter les topics mis en post-it sur le forum et/ou fais une recherche là dessus
    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.

  6. #6
    Membre confirmé Avatar de Arnaudv6
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 82
    Par défaut
    Merci shenron666.
    En gros, je voudrais pouvoir remplacer glut :
    faire moi meme un truc a la main : je perds la portabilité, mais ca, je m'en fiche
    Je me suis rapidement lancé dans glut (vive l'open source),
    mais je n'ai pas le temps de lire tout pour trouver l'info.

    Je me suis renseigné sur la programmation de drivers pour carte 3D,
    mais là, même galère...

    Je patauge :
    context : A complete set of OpenGL state variables. Note that framebuffer contents are not part of OpenGL
    state, but that the configuration of the framebuffer is.
    Le RedBook donne un lien mort

    ...Each application thread has a current openGL context,
    which contains drawing state and directs drawing commands to a window.
    Each of the functions above and most of the functions in OpenGL change the
    context's state directly and execute immediately fromthe viewpoint of the application.
    Thus OpenGL is called an immediate mode API...
    Je poste des que j'avance...
    Si d'autres ont des infos... :o

  7. #7
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    laisse tomber la creation de driver openGL pour ta carte, le nombre d'extention et autre variable d'etat ayant completement explosé, je pense que tu ne trouvera jamais de doc exaustive dessus (car ca change a chaque generation de carte graphiques qui rajoute ses extention par dizaines...)

    et pour info, glut n'est pas open source, par contre freeglut l'est
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  8. #8
    Membre confirmé Avatar de Arnaudv6
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 82
    Par défaut
    Merci bafman
    Pour Glut, je me comprends

    Je suis en train de me tater :
    je me demande (dans la mesure ou mon but est d'afficher de la 3D
    sans passer du tout par windows), si j'ai pas interet a me tourner
    vers autre chose qu'OpenGL :
    J'aimerais avoir une vision claire de ce que sont MESA
    et d'autres librairies graphiques.
    Des caractéristiques "standard" des cartes graphiques.
    Enfin voilà....
    j'ai des liens, je cherche... je tiens au courant
    mais je suis preneur sur les avis

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

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 583
    Par défaut
    Que ce soit clair : OpenGL n'est PAS windows
    utiliser Glut revient à ne pas utiliser windows car Glut permet aussi l'utilisation d'OpenGL sous linux par exemple
    Glut est une bibliothèque de fenêtrage qui te permet d'éviter d'utiliser windows (tout comme SDL et d'autres encore)

    Mesa je ne connait pas bien mais sauf erreur de ma part c'est "simplement" des drivers OpenGL totalement logiciels
    donc MESA n'utilise pas la carte video pour l'accélération de l'affichage
    uniquement le cpu
    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.

  10. #10
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    si tu veut faire de la 3D sans windows, c'est justement par openGL qu'il faut passer... par contre, pour les entrée sortie clavier, fenetrage et autre, perso je conseil la SDL qui est mieux foutu que GLUT et surtout moins buggé, et la tu aura une API multi plateforme efficace et reconnue (la version linux de UT2004 utilise la SDL...)
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  11. #11
    Membre confirmé Avatar de Arnaudv6
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 82
    Par défaut
    Salut !
    Bon... mon projet se précise un peu...
    change un peu ...l'inconvénient de travailler seul
    L'idée, ce serait de pouvoir utiliser les fonctions 3D de ma carte
    sous mon propre OS.
    "Encore un maniaque des OS... "
    En fait, c'est pour apprendre.
    Donc je pense qu'il faut arriver a porter OpenGL sous mon OS :
    Recompiler OpenGL, ce sera faisable je pense,
    mais j'ai besoin des dépendances exterieures....
    et comme vous me l'avez dit, de driver
    Quelqu'un a une idée de ce par quoi je peux commencer ?
    En attendant, j m'attaque au café... et a de la doc en tout genre.
    Merci

  12. #12
    Membre éclairé Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par défaut
    ée arnaud t es un ouf

  13. #13
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    Bonjour monsieur NVidia, j'aimerai savoir comment vous crée vos driver... tu pense trouver de la doc la dessus ? bonne chance a mon avis a part une doc tres partielle tu ne trouvera rien (il suffit de regarder les driver open source sous linux pour s'en rendre compte...)
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  14. #14
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bon, mr "Arnaudv6", sans vouloir mettre en doutes tes capacitées de programmeur, et crois moi sur parole, LAISSE TOMBER.
    Y'a pas de source OpenGL à recompiler, OpenGL, est en fait spécifique à ta carte 3D, il provient en fait du pilote de ta carte, et il contient des milliards d'instructions pour pouvoir commander les composants éléctroniques de la carte 3D, si les constructeurs comme NVidia et ATI fournissent le code source de leur Pilote OpenGL, des concurrents pourraient en déduire le fonctionnement interne de ces cartes et en faire des répliues !

    Autre conseil, pioche un peu partout, documente toi un peu, ne te contente pas d'utiliser la chose sans la comprendre, comme ca, tu ne poseras pas de questions qui seront sources de répliques "cinglantes" !

    Et les autres, essayez d'evier ce genre de repliques, qui ne servent a rien a part de faire fuir les nouveaux venus ! Nous etions tous comme "Arnaudv6" au début, ne l'oubliez pas !

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