2017-09-15 3 views
2

Mon programme d'installation inclut un processeur graphique intégré Intel intégré pour les tâches quotidiennes et un GPU Nvidia haute performance pour les applications gourmandes en ressources graphiques. Je développe une application OpenGL 3.3 (profil de base) (en utilisant des shaders, pas de pipeline de fonctions fixes). Par défaut, mon application fonctionne sur Intel GPU et fonctionne très bien. Mais devrais-je essayer de l'exécuter sur Nvidia, il montre seulement l'écran noir.GPU Nvidia dédié ne dessine pas OpenGL

Maintenant, voici la partie intéressante. Le contexte OpenGL est chargé correctement et les axes de coordonnées du monde que je dessine pour le débogage sont réellement dessinés (GL_LINE). Pour une raison quelconque, Nvidia ne dessine aucun GL_POLYGON s ou GL_QUAD s.

Est-ce que quelqu'un a expérimenté quelque chose de similaire, et que pensez-vous qu'il est le coupable ici?

+5

Utilisez-vous un profil de base? - Voir [OpenGL GL_POLYGON ne fonctionne pas correctement] (https://stackoverflow.com/questions/12762257/opengl-gl-polygon-not-functioning-properly) – Rabbid76

+3

Copie possible de [OpenGL GL \ _POLYGON ne fonctionne pas correctement] (https: //stackoverflow.com/questions/12762257/opengl-gl-polygon-not-functioning-properly) – Rabbid76

+2

J'utilise OpenGL 3.3. Je n'ai pas mis en avant le bit de compatibilité. – Drinkwater

Répondre

2

Il apparaît GL_POLYGON, GL_QUADS et GL_QUAD_STRIP sont supprimés du profil de cœur OpenGL 3.3. Pour une raison quelconque, Intel les dessine malgré tout, mais Nvidia a commencé à dessiner aussi, dès que j'ai remplacé ceux avec GL_TRIANGLES etc. Toujours vérifier les fonctionnalités supprimées si des problèmes comme celui-ci se produisent.

+0

À moins que le pilote signale une erreur (glGetError() == GL_INVALID_XXX) lors de l'utilisation de fonctions obsolètes, il s'agit toujours d'un bogue. – Andreas