Probleme affichage OpenGL avec MFC - C++ - Programmation
Marsh Posté le 07-07-2004 à 22:37:20
pb de drivers de la carte graphique là non?
Marsh Posté le 09-07-2004 à 14:56:08
skeye a écrit : pb de drivers de la carte graphique là non? |
Suite à ton message j'ai telechargé les derniers drivers de Ati et ca ne marche toujours pas!! Je pense que c'est plutot un pb de programmation mais je ne sais pas quelle est mon erreur...
Enfin c'est vrai que c'est tres etonnant que ca fonctionne avec d'autres cartes graphiques...
Marsh Posté le 09-07-2004 à 14:56:54
Tu peux poster un bout de code?
Marsh Posté le 12-07-2004 à 18:06:23
Code :
|
Voila le code ... j'ai enlevé des bouts qui ne servent pas à la comprehension et qui n'ont rien à voir avec mon problème.
Merci d'avance
@++
Marsh Posté le 13-07-2004 à 09:06:18
Il avait oublié la balise fermante, que je viens de rajouter.
A+,
Marsh Posté le 13-07-2004 à 09:07:39
c'est presque ca gilou ^^ :
void Anim3D:<img src="/images/biggrin.gif" alt=":D" title=":D" />rawCoupeYZ(int x, int y)
Sino n : j'ai comilé la chose, j'ai pas de pb.
Tu es sur de tes drivers ?
Marsh Posté le 17-07-2004 à 13:43:52
si j'ai bien compris, tu utilise une carte ATI ? je voudrais pas faire de la mauvaise pub, mais les drivers d'ATI, c'est pas toujours ça... possible que ça vienne de là (j'avoue que j'ai jamais eu autre chose qu'une ATI, donc peut-être que les drivers ne sont pas mieux sur les autre marques...)
Marsh Posté le 18-07-2004 à 22:31:35
Methode SetPixelFormat
Je note que le bit PFD_GENERIC_FORMAT est mis. Ca me parait plus que bizarre. En mettant ce bit, on demande spécifiquement un format utilisant l'implémentation générique, c'est à dire l'implémentation software via GDI de Microsoft. Donc à mon avis, il vaut mieux l'enlever. Ne pas mettre non plus PFD_GENERIC_ACCELERATED qui correspond à un MCD, de toutes façons il n'y en a plus sur le marché. Un PixelFormat pris en charge par un ICD n'a ni PFD_GENERIC_FORMAT, ni PFD_GENERIC_ACCELERATED.
Je note aussi dans le pixelformat demandé :
accumulation buffer de 8 bits -> est-ce vraiment utilisé?
un z-buffer de 64 bits -> ça n'existe nulle part à ma connaissance
8 aux buffers -> est-ce vraiment utilisé?
D'une façon générale, plus on est précis dans ce qu'on demande, plus on a de chances d'etre bien servi. ChoosePixelFormat va chercher le format le plus proche de la demande, ça ne veut pas dire que ce sera exactement ce qui était demandé. Une bonne habitude est de vérifier ce qu'on obtient en utilisant DescribePixelFormat.
Autre chose : je n'ai pas vu ou était appelée la méthode initGLCoupes(). A premiere vue elle devrait etre appelée lors de la création de la boite de dialogue non?(ie dans OnInitDialog, la ou est créée l'autre fenetre OpenGL)
Marsh Posté le 07-07-2004 à 17:53:59
Salut @ tous!
Voila je fais une appli où j'ai besoin d'avoir trois scenes OpenGl sur une même fenetre Windows gérée en MFC. Pour cela, j'ai créé 3 frames dans lesquelles je récupere le contexte graphique.
En fait j'ai une scene principale qui s'affiche sans aucuns problèmes et normalement un clic sur cette scene doit lancer l'affichage des 2 autres. ET LA C'est le drame ... RIEN! Pourtant je fais bien attention a changer le contexte courant pour que les affichages se fassent séquentiellement car ce ne sont pas des anums, mais rien y fait. J'ai même essayer de n'afficher que des carrés pour pas compliquer les choses mais bien sur ce la ne change rien ...Si quelqu'un à une lumière sur mon problème je le remerci d'avance...
PS : lorsque je baisse l'accélération matérielle de ma machine, l'affichage est de retour...mais ca rame donc ca ne me va pas!! Pour info la carte graphique est une ATI Radeon 9200.
PS2: en changeant de carte graphique pour une ATI 7000, ca marche!
Ludo