Sto cercando di imparare OpenGL e migliorare le mie competenze C++ passando attraverso il Nehe guides, ma tutti gli esempi sono per Windows e attualmente sono su Linux. Non ho davvero idea di come far funzionare le cose sotto Linux, e il codice sul sito che è stato portato per Linux ha molto più codice in esso che non è spiegato (finora, l'unico che ho ottenuto il lavoro è l'esempio SDL: http://nehe.gamedev.net/data/lessons/linuxsdl/lesson01.tar.gz). C'è qualche altra risorsa là fuori che è un po 'più specifica verso OpenGL sotto Linux?Learning OpenGL in Ubuntu
risposta
La prima cosa da fare è installare le librerie OpenGL. Mi raccomando:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
Una volta li installato, il link a loro quando si compila:
g++ -lglut -lGL -lGLU -lGLEW example.cpp -o example
In example.cpp, includere le librerie OpenGL in questo modo:
#include <GL/glew.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>
Poi , per abilitare le opzioni opengl più avanzate come gli shader, posiziona questo dopo il tuo 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");
Questo dovrebbe abilitare tutte le funzionalità di OpenGL, e se così non fosse, allora dovrebbe dirvi i problemi.
c'è un modo per ottenere la funzionalità 4.5 opengl? o almeno 4.1? –
'fprintf (stdout,"% s \ n ", glGetString (GL_VERSION));' output '3.0 Mesa 17.3.0-devel' anche se ne ho 4.5 'Versione del profilo core OpenGL stringa: 4.5 (Profilo principale) Mesa 17.3.0-devel' –
Forse ti piacerebbe usare Qt per disegnare finestre e widget.
Here è un tutorial basato sulle guide di Nehe per mostrare come creare immagini OpenGL con Qt.
Per imparare OpenGL, è necessario leggere OpenGL Red Book. C'è una versione online. Ha ottime spiegazioni ed esempi.
Indovino che è il processo di compilazione che è la differenza più grande inizialmente. Ecco un utile Makefile per compilare semplici app OpenGL su 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
Salva anche questo un file chiamato Makefile , e dovrebbe essere nella stessa directory. Compilare scrivendo fare dal terminale o: fare da Vim.
Buona fortuna
un piccolo aggiornamento per il makefile perché ho trovato questa vecchia risposte da @Millthorn e non ha funzionato: non avete bisogno di definde il percorso di inclusione dal momento che è in lib serie https://stackoverflow.com/a/2459788/1059828
un makefile minima per compilare GL aperta potrebbe essere la seguente:
LDFLAGS=-lglut -lGL -lGLU -lGLEW -lm
all: your_app
http://surflab.cise.ufl.edu/wiki/Getting_Started_with_OpenGL_in_Ubuntu
- 1. re-learning opengl
- 2. impostazione di OpenGL su Ubuntu
- 3. Learning DirectX nel 2013
- 4. iPhone: Learning Cocos2D project
- 5. CMake non è riuscito a trovare OpenGL in Ubuntu
- 6. Learning assembly
- 7. Learning PostgreSQL
- 8. Learning Cappuccino
- 9. Come posso trovare la mia versione OpenGL su Ubuntu 13.04
- 10. operatore lambda C# learning
- 11. Learning J/K/APL
- 12. Learning PyQt Quickly
- 13. OpenCL/AMD: Deep Learning
- 14. Learning gcc internals
- 15. Learning Mono Source Code
- 16. Learning Core Graphics
- 17. Azure Machine Learning - CORS
- 18. Learning Advanced PHP
- 19. Learning Ruby Curses
- 20. Learning sharepoint a casa
- 21. Partendo laravel su Ubuntu
- 22. Una domanda sui classificatori in Machine Learning
- 23. Learning Objective C senza Mac
- 24. Swift Core Audio Learning Resources
- 25. Learning C++ come programmatore Perl
- 26. Learning Django - Good starter project
- 27. Cypher Learning for Web Devepers
- 28. Learning Python proveniente da PHP
- 29. Installazione di tutte le librerie OpenGL per lo sviluppo in Ubuntu 11.10
- 30. Come ottenere pagine man di OpenGL su Ubuntu come in "man glRotate"?
Ammetto che le chiusure di argomenti su Stack Overflow stanno diventando un po 'naziste, ma sono sicuro che molte persone hanno questo problema; sarebbe più adatto a [GameDev StackExchange] (http://gamedev.stackexchange.com/) – cossacksman