PDA

View Full Version : [C] OpenGL


ianaz
08-10-2005, 12:16
Buongiorno,
é da un po' di giorni che passo da allegro a SDL e ora vorrei provare anche OpenGL!!!
Non discutete su questa cosa, so che non é giusto quello che faccio ;)
Comunque ieri ho letto il tutorial (la prima parte) su come cominciare con OpenGL!
Il tutorial dice:

Dopo aver creato una nuova applicazione Win32 (NON una console application) in Visual C++, avrete bisogno di linkare le librerie OpenGL. In Visual C++ andate in Project, Settings, quindi cliccate sul tab LINK. Sotto "Object/Library Modules" all'inizio della linea (prima di kernel32.lib) aggiungete OpenGL32.lib GLu32.lib e GLaux.lib. Una volta fatto questo cliccate su OK. Ora siete pronti per scrivere un programma OpenGL Windows.

io a includere quelle lib non sono riuscito. utilizzo Dev-CPP 4.9.9.2.
Come si fa a includere le librerie?
E poi io ho anche cercato nella cartella di dev-cpp e quei file non li ho trovati (OpenGL32.lib, GLu32.lib e Glaux.lib)

cionci
08-10-2005, 15:35
Te l'ho spiegato nell'altro thread... -lnomedellalibreria

In Dev-C++ le librerie si chiamano: libopengl32, libglu32 e libglauxi

ianaz
08-10-2005, 17:39
Te l'ho spiegato nell'altro thread... -lnomedellalibreria

In Dev-C++ le librerie si chiamano: libopengl32, libglu32 e libglauxi
si ma come si fa??????
Non ho capito...Cioé...dove lo devo scrivere???

cionci
08-10-2005, 17:50
Lo devi aggiungere in Progetto -> Opzioni del progetto -> Parametri -> Linker

ianaz
08-10-2005, 18:00
Lo devi aggiungere in Progetto -> Opzioni del progetto -> Parametri -> Linker
sei un amore....
ora l'unico problema che mi esce ancora é questo
C:\Dev-Cpp\ianaz10\Makefile.win [Build Error] ["ianaz] Error 1
Sembra che succecde tutto a me :p

ianaz
08-10-2005, 23:34
up pf aiutatemi

DanieleC88
09-10-2005, 09:42
Ti dà *soltanto* quella riga di errore? :wtf:

ianaz
09-10-2005, 09:51
Ti dà *soltanto* quella riga di errore? :wtf:
si é l'unica.

DanieleC88
09-10-2005, 10:01
Davvero strano. Posta il Makefile.

ianaz
09-10-2005, 10:08
ecco, quella é tutta la cartella.

Il main comunque ho copiato il codice da un tutorial solamente per vedere se funzionava..

DanieleC88
09-10-2005, 10:27
Non creare MAI progetti con nomi che includono lo spazio... Dev-C++ li gestisce male. :p

Togli lo spazio dal nome del progetto e dal percorso, e vedrai che filerà tutto liscio.

Un'ultima cosa: quando includi gli header, i percorsi scrivili con lo slash (/) invece che il backslash (\), per compatibilità anche con altri sistemi operativi. ;)

Quindi:
#include <GL/gl.h>

ianaz
09-10-2005, 11:09
grazie mille...ora però il problema si moltiplica :(

[Linker error] undefined reference to `ChoosePixelFormat@8'
[Linker error] undefined reference to `SetPixelFormat@12'
[Linker error] undefined reference to `SwapBuffers@4'
ld returned 1 exit status
C:\Dev-Cpp\ianaz10\Makefile.win [Build Error] [ianazproject.exe] Error 1


P.S: Ma ci vuole veramente tutto quel codice per aprire una finestra nera???

DanieleC88
09-10-2005, 11:49
grazie mille...ora però il problema si moltiplica :(
Non ricordo che libreria, però devi linkare qualcos'altro. Forse GDI.
P.S: Ma ci vuole veramente tutto quel codice per aprire una finestra nera???
Si. Con SDL ci vogliono 5 righe.

ianaz
09-10-2005, 12:00
Bella, ho dovuto includere 2 librerie ancora :D
ho sparato a caso ed era giusta :p
Comunque grazie mille

Forse comunque é meglio ancora SDL no?!

DanieleC88
09-10-2005, 13:57
Secondo me SDL è comodissima. Per avere una sessione OpenGL funzionante ti bastano queste righe:

SDL_Init(SDL_INIT_VIDEO);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_SetVideoMode(640, 480, 24, SDL_OPENGL);

Fatto. Ora hai una bella finestra nera pronta per OpenGL. Per il resto, OpenGL la usi senza differenze, quindi non c'è problema. ;)