He estado usando extensiones OpenGL en Windows el painful way. ¿GLEW es la forma más fácil de ir? ¿Cómo empiezo con esto?Uso de GLEW para usar extensiones OpenGL bajo Windows
Respuesta
Sí, el OpenGL Extension Wrangler Library (GLEW) es una forma fácil de usar las extensiones de OpenGL en Windows. Aquí le mostramos cómo comenzar:
Identifique la extensión OpenGL y las API de extensión que desea utilizar. Las extensiones de OpenGL se enumeran en el OpenGL Extension Registry.
Compruebe si su tarjeta gráfica es compatible con las extensiones que desea utilizar. Descargue e instale los últimos controladores y SDK para su tarjeta gráfica.
Las versiones recientes de NVIDIA OpenGL SDK se envían con GLEW. Si está usando esto, entonces no necesita hacer algunos de los siguientes pasos.
Descargue GLEW y descomprímalo.
Añadir la papelera de ruta GLEW a su Windows PATH variable de entorno. Alternativamente, también puede colocar glew32.dll en un directorio donde Windows toma sus archivos DLL.
Agregue el GLEW incluya ruta a la lista de directorios de inclusión de su compilador.
Agregue la ruta de GLEW lib a la lista del directorio de la biblioteca del compilador.
Indique a su compilador que use glew32.lib durante la vinculación. Si está utilizando Visual C++ compiladores entonces una forma de hacerlo es mediante la adición de la siguiente línea al código:
#pragma comment(lib, "glew32.lib")
añadir una línea #include <GL/glew.h>
a su código. Asegúrese de que esto se coloca por encima de los incluidos otros archivos de encabezado GL. (Puede que realmente no necesite los archivos de encabezado GL si incluye glew.h
.)
Inicialice GLEW usando glewInit()
después de haber inicializado GLUT o GL. Si falla, entonces algo está mal con su configuración.
if (GLEW_OK != glewInit())
{
// GLEW failed!
exit(1);
}
Compruebe si la (s) extensión (es) que desea utilizar ahora están disponibles a través de GLEW. Para ello, verifique una variable booleana llamada GLEW _tur_extension_name expuesta por GLEW.
Ejemplo:
if (!GLEW_EXT_framebuffer_object)
{
exit(1);
}
Eso es todo! Ahora puede usar las llamadas de extensión OpenGL en su código como si existieran naturalmente para Windows.
Personalmente, no utilizaría un comando de salida.
Haría una excepción para que pueda borrar cualquier otra inicialización al final de la función.
es decir:
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
}
Y estoy de acuerdo con DO - si usted quiere escribir tutoriales para los demás, entonces este es realmente el lugar equivocado para ella. Ya hay un montón de buenos lugares para tutoriales opengl. Try this one for instance.
Perdí algo de tiempo, pero finalmente logré que GLEW funcionara. Estoy usando Windows 7 (x64), Eclipse CDT y MinGW, y la forma es que:
Descargar MSYS (para MinGW) y rember a MinGW tienen instalado correctamente (variable PATH enviroinment ajustada correctamente): http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.10/MSYS-1.0.10.exe/download?use_mirror=freefr&download=
Una vezMsys instalado, vaya a: http://glew.sourceforge.net/ y descargar el paquete TGZ, que está destinado para su uso con sistemas UNIX
continuación, abra el paquete (se puede usar 7zip también) y encontrar el "Makefile". Abrirlo y con un editor de texto (Bloc de notas debería funcionar bien) buscar la fila que contiene "GLEW_DEST" y reemplazarlo con algo como "GLEW_DEST = C:/MinGW"
Ahora ya está listo para ir, MSYS abierto (C: \ MinGW \ msys \ 1.0 \ msys.bat en mi caso) y en el shell abierto, vaya a la carpeta donde está el "Makefile".
Luego escribe un simple: "make install" y se realiza el trabajo (por lo menos para mí funcionó)
PS: También copio-pegado Glew-1.10.0-win32 \ Glew-1.10.0 \ bin \ Release \ Win32 file en mi carpeta System32, y en Eclipse CDT agregué la biblioteca "glew32" en la opción del enlazador y agregué un #include <GL/glew.h>
antes de #include <GL/glut.h>
- 1. Uso de extensiones OpenGL En Windows
- 2. depreciación GLEW y openGL
- 3. Cómo usar GLEW con MinGW
- 4. banderas cmake para OpenGL usando Glew y GLFW
- 5. Building glew para Mac OSX
- 6. Construyendo GLEW 1.7.0 en Windows usando MinGW
- 7. Glew problems,
- 8. Tutorial para las extensiones shell de Windows
- 9. OpenGL preguntas de rendimiento de bajo nivel
- 10. configurando ventanas GLEW?
- 11. Uso de OpenGL para reemplazar Canvas - Android
- 12. Uso de OpenGL con Python
- 13. Instalación de extensiones de PHP en Windows
- 14. Instalación de extensiones de Ruby nativas en Windows para Jekyll
- 15. Glew in VS 2010: símbolo externo no resuelto __imp__glewInit
- 16. ¿La mejor API para audio de bajo nivel en Windows?
- 17. ¿Puede CUDA usar extensiones SIMD?
- 18. Autocompletar en MySQL bajo Windows
- 19. GTK + o Qt bajo Windows
- 20. framebuffer y uso de sombreadores en opengl
- 21. Uso de cmake en Windows para C++
- 22. Implementación de aplicaciones OpenGL en Windows Mobile
- 23. Cómo usar HTML5 WebSockets para extensiones de Chrome
- 24. ¿Cómo puedo usar .htaccess para ocultar extensiones de URL .php?
- 25. ¿Debo usar extensiones GHC Haskell o no?
- 26. ¿Es posible usar extensiones PECL en HipHop?
- 27. Uso de MySQL en R para Windows
- 28. python para extensiones de Firefox?
- 29. ¿Cómo usar Winmerge con extensiones de Git?
- 30. Análisis de virus bajo demanda Windows
Hola. ¿Funciona esto con MinGW? He estado intentando durante 2 días, pero todo lo que consigo son errores como: 'referencia indefinida a '_imp__glewInit @ 0'' y' referencia indefinida a' _imp ____ glewCreateShader'' –
Dan the Man: esta solución fue con Visual C++. No tengo idea si esto funciona con MingGW. –
AFAIK, '#pragma comment (lib," glew32.lib ")' solo funciona en Visual C++. Para MinGW, debe agregar las bibliotecas a la línea de comandos del compilador (creo que es '-L'). –