Question

J'ai été en utilisant les extensions OpenGL sous Windows, le douloureuse.Est GLEW la façon la plus facile d'aller?Comment puis-je commencer avec elle?

Était-ce utile?

La solution

Oui, l' Extension OpenGL Wrangler Bibliothèque (GLEW) est un moyen facile d'utiliser les extensions OpenGL sous Windows.Voici comment obtenir commencé sur elle:

Identifier l'extension OpenGL et l'Api d'extension que vous souhaitez utiliser.OpenGL extensions sont listées dans le OpenGL Extension De Registre.

Vérifiez si votre carte graphique prend en charge les extensions que vous souhaitez utiliser.Téléchargez et installez les derniers pilotes et les Kits de développement logiciel pour votre carte graphique.

Les versions récentes de NVIDIA OpenGL SDK navire avec GLEW.Si vous êtes en utilisant cela, alors vous n'avez pas besoin de faire certaines des étapes suivantes.

Télécharger GLEW et décompressez-le.

Ajouter le GLEW bin chemin d'accès à votre Windows CHEMIN variable d'environnement.Alternativement, vous pouvez également placer l' glew32.dll dans un répertoire où Windows prend sa Dll.

Ajouter le GLEW inclure chemin d'accès à votre compilateur du répertoire de la liste.

Ajouter le GLEW lib chemin d'accès à votre compilateur du répertoire de la bibliothèque de la liste.

Demandez à votre compilateur à utiliser glew32.lib durant l'édition de liens.Si vous utilisez Visual C++ compilateurs alors une façon de le faire est d'ajouter la ligne suivante dans votre code:

#pragma comment(lib, "glew32.lib")

Ajouter un #include <GL/glew.h> ligne de votre code.S'assurer que celui-ci est placé au-dessus de la comprend d'autres GL fichiers d'en-tête.(Vous pouvez réellement pas besoin de la GL fichiers d'en-tête comprend si vous incluez glew.h.)

Initialiser à l'aide de GLEW glewInit() après avoir initialisé ou GLUT GL.Si elle échoue, alors quelque chose est incorrect avec votre installation.

if (GLEW_OK != glewInit())
{
    // GLEW failed!
    exit(1);
}

Vérifier si l'extension(s) que vous souhaitez utiliser sont maintenant disponibles par le biais de GLEW.Vous faites cela en cochant une variable booléenne nommée GLEW_your_extension_name ce qui est exposé par GLEW.

Exemple:

if (!GLEW_EXT_framebuffer_object)
{
    exit(1);
}

Ça y est!Vous pouvez maintenant utiliser l'extension OpenGL appels dans votre code, comme s'ils existaient naturellement pour Windows.

Autres conseils

Personnellement, je ne voudrais pas utiliser une sortie de commande.

Je voudrais lever une exception, de sorte que vous pouvez effacer toutes les autres initialisation jusqu'à la fin de la fonction.

c'est à dire:

try
{
    // init opengl/directx
    // init directaudio
    // init directinput

    if (GLEW_OK != glewInit())
    {
        throw std::exception("glewInit failed");
    }
}
catch ( const std::exception& ex )
{
    // message to screen using ex.what()
    // clear up
}

Et je suis d'accord avec JO - si vous souhaitez écrire des tutoriels pour les autres, alors c'est vraiment le bon endroit pour cela.Il y a déjà une charge de bons endroits pour opengl tutoriels. Essayez celui-ci par exemple.

J'ai perdu un peu de temps, mais finalement j'ai réussi à obtenir GLEW de travail.Je suis sous Windows 7 (x64), Eclipse CDT et MinGW, et la manière, c'est que:

Télécharger MSYS (pour MinGW) et rember d'avoir correctement installé MinGW (CHEMIN enviroinment variable réglée correctement):http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.10/MSYS-1.0.10.exe/download?use_mirror=freefr&download=

Une fois MSYS installé, allez à:http://glew.sourceforge.net/ et télécharger le fichier TGZ paquet, qui est destiné à une utilisation avec les systèmes UNIX

Ensuite, ouvrez le paquet (vous pouvez utiliser 7zip) et trouver le "Makefile".L'ouvrir avec un éditeur de texte (bloc-notes doit bien fonctionner) trouver la ligne qui contient "GLEW_DEST" et de le remplacer par quelque chose comme "GLEW_DEST ?= C:/MinGW"

Maintenant, vous êtes prêt à aller, ouvrir MSYS (C:\MinGW\msys\1.0\msys.bat dans mon cas) et dans le shell ouvert, allez dans le dossier où le "Makefile" est.

Puis d'écrire un simple:"make install" et le travail est fait (au moins pour moi cela a fonctionné)

PS:J'ai aussi copier-collé glew-1.10.0-win32\glew-1.10.0\bin elease\Win32 fichier dans mon dossier System32, et dans Eclipse CDT, j'ai ajouté de la bibliothèque "glew32" dans l'éditeur de liens et ajout d'une option #include <GL/glew.h> avant #include <GL/glut.h>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top