[OpenGL] ARB extensions & win vista beta

ARB extensions & win vista beta [OpenGL] - C++ - Programmation

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 :
 

Code :
  1. glActiveTexture = (PFNGLACTIVETEXTUREPROC)wglGetProcAddress("glActiveTextureARB" );


 
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...

Reply

Marsh Posté le 08-08-2006 à 00:56:13   

Reply

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?


---------------
.
Reply

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...

Reply

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 :/

Reply

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 :/

Reply

Marsh Posté le 08-08-2006 à 12:41:26    

y'aurait pas une une histoire d'adresses sur 32 ou 64 bits par hasard?

Reply

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.


Message édité par bjone le 08-08-2006 à 15:47:24
Reply

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.

Reply

Marsh Posté le 09-08-2006 à 13:47:22    

oki, merci pour ces précisions.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed