Tengo un problema al actualizar mis encabezados GL. Básicamente quiero acceder a la función glCompressedTexImage2D
pero mis encabezados gl son muy antiguos y no creo que esa función exista en esos encabezados. Así que traté de actualizar mi archivo gl.h
, pero recibo muchos errores. Intenté actualizar mi software de tarjeta gráfica, entre otras cosas. ¿Alguien puede ser de ayuda?opengl, ¿cómo mejor actualizar los encabezados con Visual Studio?
Respuesta
Aparentemente, Windows está atascado en una versión anterior de OpenGL (1.2?). Intente utilizar GLEW o Glee para cargar la extensión necesaria (GL_ARB_TEXTURE_COMPRESSION en el caso de glCompressedTexImage2D
). Estas bibliotecas cargarán las extensiones disponibles y le permitirán verificar su código si se carga o no una extensión en particular.
Ejemplo de alegría:
#include <gl/GLee.h>
if (GLEE_ARB_TEXTURE_COMPRESSION)
{
glCompressedTexImage2D(...);
}
else
{
// the extension is not available, use a different method
}
Tenga en cuenta que GLEE no requiere inicializar explícitamente (a diferencia de GLEW). Recomiendo este método sobre la carga manual de un puntero a la función. No porque sea mi respuesta :), sino porque esto también se ocupará de averiguar si el hardware y su controlador son compatibles con la extensión (lo que podría ser muy desordenado), y es independiente de la plataforma.
Usted necesita averiguar si el dispositivo actual es compatible con la función, y luego obtener la dirección de la función antes de que se le puede llamar:
PFNGLCOMPRESSEDTEXIMAGE2DPROC p = NULL;
const char* string = glGetString(GL_EXTENSIONS);
if (strstr(string, "GL_ARB_texture_compression") != NULL)
p = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)wglGetProcAddress("glCompressedTexImage2D");
estoy teniendo un poco de una actualización tema mis encabezados GL.
Eso es porque se supone que no debes hacer esto. En Windows, todo lo que esté más allá de OpenGL-1.1 se recopila a través del mecanismo de extensión. La forma más fácil de acceder a esto es a través del GLEW. Instale esto y use GL/glew.h
en lugar del GL/gl.h
normal. Luego, después de crear un contexto OpenGL, lo primero que llama es glewInit()
.
Ir a la: http://www.opengl.org/registry/ y descargar la versión más reciente de glext.h y wglext.h
Ahora usted será capaz de obtener manualmente puntero de función a las características que desea. En Windows solo hay OpenGL 1.1.
Para un principiante se sugiere emplear GLEW (GLEE también es grande, pero no ha sido actualizado desde hace mucho tiempo ...)
- 1. IntelliSense Visual Studio para los encabezados y sin .h
- 2. cómo actualizar Visual Studio caché de plantillas
- 3. ¿Qué contienen los encabezados precompilados de Visual Studio?
- 4. ¿Cómo integrar NAnt con Visual Studio?
- 5. ¿Cómo puedo actualizar programáticamente Visual Studio Solution Explorer?
- 6. ¿Cómo puedo actualizar los proyectos de SQL Report (rptproj) a Visual Studio 2012?
- 7. window.open con los encabezados
- 8. Sin aceleración con encabezados precompilados en gcc (pero gran aceleración con Visual Studio)
- 9. Mejor actualización de hardware de Visual Studio
- 10. La mejor manera de comprar visual studio
- 11. ¿Cómo maximizar los paneles de Visual Studio?
- 12. GCC con Visual Studio?
- 13. Cómo solucionar los bloqueos de Visual Studio Compiler
- 14. ¿Cómo actualizar OpenGL Modelview Matrix con mi propia matriz 4x4?
- 15. Error al intentar actualizar Extensiones en Visual Studio
- 16. Visual Studio 2008: ¿Vale la pena actualizar desde 2005?
- 17. ¿Cómo trabajar con OpenGL y QT?
- 18. Encabezados OpenGL para OS X y Linux
- 19. ¿Visual Studio 2010 RC funciona bien con Visual Studio 2008?
- 20. Visual Studio 2012 en comparación con Visual Studio 2010 (delta)
- 21. Acceso directo para contraer todos los encabezados/comentarios de la documentación en Visual Studio
- 22. ¿Cómo compilar con Visual Studio x64?
- 23. Cómo compilar CppUnit con Visual Studio 2010
- 24. Cómo usar OpenSSL con Visual Studio
- 25. Cómo usar IronPython con Visual Studio 2008
- 26. Cómo usar PHP con Visual Studio
- 27. Android NDK con Visual Studio
- 28. Pregunta sobre los encabezados precompilados en Visual C++
- 29. ¿Visual Studio 2010 Professional Solutions/Projects es 100% compatible con Visual Studio 2010 Premium Solutions/Projects?
- 30. problema con Visual Studio 2010
Tenga en cuenta que GLEE está desaparecida y ya no está actualizada. Se detuvo en GL 3.3; ha habido 6 versiones de OpenGL lanzadas desde entonces. Así que por mucho que le guste el estilo, no debe usarlo. Hay [una serie de alternativas para cargar funciones de OpenGL] (http://www.opengl.org/wiki/OpenGL_Loading_Library). –
Gracias por el aviso. –