ARB extensions & win vista beta [OpenGL] - C++ - Programmation
Marsh Posté le 08-08-2006 à 01:05:41
Je pense pas pouvoir t'aider, mais au niveau des détails:
Le texte de l'exception, c'est quoi?
GetLastError renvoit quoi?
Marsh Posté le 08-08-2006 à 11:48:07
pour commencer il faudrait déjà voir si tu trouves d'autres applications OpenGL utilisant les extensions qui tournent sous Windows Vista... si elles ne tournent pas t'as pas besoin de chercher plus loin dans ton code. Je sais qu'il y a eu de nombreux débats sur le niveau de compatibilité/efficacité entre vista et open gl mais je sais pas ou en est resté toute cette histoire...
Marsh Posté le 08-08-2006 à 12:30:20
IrmatDen : je connais l'erreur... c'est que la fonction glActiveTexture pointe sur l'addresse 0x0000000 ... l'exeption est donc non pas openGL, mais c'est vc qui réagit (appel à la fonction se trouvant à l'addresse zéro)
BlackWolf: je vais essayer ton idée... on va voir si ca tourne, ceci dit, si c'est le cas, je ne vois vraiment pas d'ou vient le problème, étant donné que mon code tourne à la perfection sous xp
Marsh Posté le 08-08-2006 à 12:38:51
Nan, mais il peut arriver que GetLastError dise quelque chose d'intéressant, hein.
OpenGL est devenu une surcouche à D3D apparemment dans Vista, mais j'en sais pas plus non plus. J'ai pas l'impression qu'il y ait eu une grosse com' dessus
Marsh Posté le 08-08-2006 à 12:41:26
y'aurait pas une une histoire d'adresses sur 32 ou 64 bits par hasard?
Marsh Posté le 08-08-2006 à 15:46:43
De base, effectivement, OpenGl est wrappé par dessus D3D.
Après normalement Ati & nVidia vont fournir des drivers OpenGl, le seule contrainte et qu'en rendu fenêtré ça devrait couper la composition du bureau. (je crois que Legreg avais précisé des trucs dans le GOB).
Quand j'ai essayé Doom 3 (32bits) sous Vista 64 beta 2, ça marchait (plus lentement) mais ça marchait. Alors après savoir quel path interne avait pris D3.
Marsh Posté le 09-08-2006 à 11:16:35
Petite précision : ce n'est que l'implémentation Microsoft qui est basée sur un wrapper D3D.
La situation ne change pas par rapport à XP :
- une install fraiche de Vista (ou XP) supporte OpenGL via l'implémentation (pourrie) de Microsoft. Sous XP c'est software et limité à OpenGL 1.4 si je ne m'abuse. Sous Vista ce sera un chouilla mieux puisque basé sur un wrapper D3D.
- les fabricants de chips graphiques peuvent (vont) fournir une implémentation avec accélération native (sans passer par D3D). Cela se fait comme sous XP avec les drivers à télécharger/installer depuis le site du fabricant.
Il y a dans ce cas deux possibilités :
* un driver style XP qui dans ce cas ne marchera pas avec Aero (uniquement fullscreen ou alors desktop compositing désactivé)
* un driver style Vista qui marchera parfaitement avec Aero
Pour ce qui est de la situation actuelle, il me semble que seul NVIDIA dispose d'un vrai driver OpenGL Vista en beta, ATI est à la bourre sur ce point.
Marsh Posté le 08-08-2006 à 00:56:13
Je viens de passer sous windows vista beta, et la première chose que j'ai faite est d'installer le nessesaire pour recompiler mon projet. Tout roule sur des roulettes, le programme se lance... jusqu'à ce que vc relève une exeption : l'appel à "glActiveTextureARB".
Etant une extension, j'ai ce code pour récupérer l'addresse de la procédure :
Seulement, wglGetProcAddress retourne 0x0000.. ! (c'est comme ca pour toutes les procédures arb récupérées...)
Les drivers radéon pour windows vista beta ne gèreraient pas les extensions opengl ? (ils sont sensés gérer opengl... en tous cas, l'affichage marche jusqu'à utilisation des extensions)
Quelqu'un a rencontré ce problème, ou lu quelque chose à propos ?
Merci d'avance...