Estoy tratando de aprender OpenGL y mejorar mis habilidades en C++ pasando por el Nehe guides, pero todos los ejemplos son para Windows y actualmente estoy en Linux. Realmente no tengo idea de cómo hacer que las cosas funcionen en Linux, y el código en el sitio que se ha portado para Linux tiene mucho más código que no se explica (hasta ahora, el único que he recibido) el trabajo es el ejemplo SDL: http://nehe.gamedev.net/data/lessons/linuxsdl/lesson01.tar.gz). ¿Hay algún otro recurso que sea un poco más específico para OpenGL en Linux?Aprendizaje OpenGL en Ubuntu
Respuesta
Lo primero que debe hacer es instalar las bibliotecas OpenGL. Recomiendo:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
Una vez que haya instalado ellas, enlace a ellos cuando se compila:
g++ -lglut -lGL -lGLU -lGLEW example.cpp -o example
En example.cpp, incluir las librerías OpenGL, así:
#include <GL/glew.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>
Entonces , para habilitar las opciones de OpenGL más avanzadas, como los sombreadores, colóquelo después de su glutCreateWindow Call:
GLenum err = glewInit();
if (GLEW_OK != err)
{
fprintf(stderr, "Error %s\n", glewGetErrorString(err));
exit(1);
}
fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));
if (GLEW_ARB_vertex_program)
fprintf(stdout, "Status: ARB vertex programs available.\n");
if (glewGetExtension("GL_ARB_fragment_program"))
fprintf(stdout, "Status: ARB fragment programs available.\n");
if (glewIsSupported("GL_VERSION_1_4 GL_ARB_point_sprite"))
fprintf(stdout, "Status: ARB point sprites available.\n");
Eso debería habilitar toda la funcionalidad de OpenGL, y si no lo hace, entonces debería decirle los problemas.
¿hay alguna manera de obtener la funcionalidad de OpenGL 4.5? o al menos 4.1? –
'fprintf (stdout,"% s \ n ", glGetString (GL_VERSION));' salidas '3.0 Mesa 17.3.0-devel' aunque tengo 4.5 'Cadena de versión de perfil de núcleo de OpenGL: 4.5 (Core Profile) Mesa 17.3.0-devel' –
Quizás le gustaría usar Qt para dibujar ventanas y widgets.
Here es un tutorial basado en las guías de Nehe para mostrarle cómo crear imágenes OpenGL con Qt.
Para aprender OpenGL, el OpenGL Red Book es una lectura obligada. Hay una versión en línea. Tiene muy buenas explicaciones y ejemplos.
Supongo que es el proceso de compilación que es la mayor diferencia inicialmente. Aquí hay un útil Makefile para compilar aplicaciones OpenGL simples en Ubuntu.
INCLUDE = -I/usr/X11R6/include/
LIBDIR = -L/usr/X11R6/lib
FLAGS = -Wall
CC = g++ # change to gcc if using C
CFLAGS = $(FLAGS) $(INCLUDE)
LIBS = -lglut -lGL -lGLU -lGLEW -lm
All: your_app # change your_app.
your_app: your_app.o
$(CC) $(CFLAGS) -o [email protected] $(LIBDIR) $< $(LIBS) # The initial white space is a tab
Guardar esto también un archivo llamado Makefile , y debe estar en el mismo directorio. Compilar escribiendo hacer desde el terminal o: hacer desde Vim.
Buena suerte
una pequeña actualización para el makefile porque me encontré con este viejo respuestas de @Millthorn y no me funcionó: usted no necesita definde la ruta de inclusión, ya que es en lib estándar https://stackoverflow.com/a/2459788/1059828
un makefile mínima para compilar GL abierto podría tener este aspecto:
LDFLAGS=-lglut -lGL -lGLU -lGLEW -lm
all: your_app
http://surflab.cise.ufl.edu/wiki/Getting_Started_with_OpenGL_in_Ubuntu
- 1. Aprendizaje OpenGL ES 1.x
- 2. ¿Aprendizaje de OpenGL sin GLUT?
- 3. configuración de OpenGL en Ubuntu
- 4. Aprendizaje OpenGL a través de Java
- 5. Aprendizaje OpenGL mientras practico TDD (pruebas unitarias)
- 6. Instalación de OpenGL y openAL en ubuntu
- 7. ¿Buen tutorial de OpenGL para Linux/Ubuntu?
- 8. Aprendizaje SDL en C
- 9. aprendizaje en C#
- 10. ¿Qué es una curva de aprendizaje en el aprendizaje automático?
- 11. Aprendizaje F #
- 12. Aprendizaje NHibernate
- 13. Aprendizaje PostgreSQL
- 14. Materiales de aprendizaje de UniVerse
- 15. aprendizaje .NET
- 16. ¿Cómo obtener las páginas Man de OpenGL en Ubuntu como en "man glRotate"?
- 17. Analizador de aprendizaje en python
- 18. Instalación de todas las librerías OpenGL para desarrollo en Ubuntu 11.10
- 19. Diferencia entre OpenGL ES 2.0 y OpenGL 4
- 20. Comenzando con OpenGL ... en Android
- 21. Aprendizaje automático básico
- 22. algoritmo de aprendizaje
- 23. Aprendizaje a gran escala
- 24. Aprendizaje Apache Ofbiz?
- 25. Aprendizaje Python Ejercicio
- 26. Aprendizaje Diseño POO
- 27. Error de compilación: Emulador de sándwich de helado en Ubuntu
- 28. OpenGL u OpenGL ES
- 29. Aprendizaje avanzado PHP
- 30. Python 2.7 en Ubuntu
Reconozco que el cierre de temas en Stack Overflow se está volviendo un poco nazi, pero estoy seguro de que muchas personas tienen este problema; sería más adecuado en [GameDev StackExchange] (http://gamedev.stackexchange.com/) – cossacksman