Come iniziare a studiare informatica grafica?

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
Salve ragazzi.. sono uno studente del secondo anno di ingegneria informatica.. come ogni facoltà lo studente viene instradato ad un certo tipo di ambito.. naturalmente il mio è quello informatico.. ciò che però risiede fuori dalla semplice conoscenza metodica universitaria bisogna iniziare a studiarlo da soli.. il mio obiettivo è quello di studiare informatica grafica ed essendo del secondo anno e avendo studiato (le basi) java so come si ragiona in tale campo e so implementare diverse richieste.. ora però, fuori dall'università, volevo iniziare tale cammino.. ho scaricato vari manuali sull'OpenGl su cui mi voglio basare piuttosto che le DirectX.. ma non so come iniziare.. da quanto ho capito devo lavorare su c++.. devo quindi installarlo.. ho molta confusione in testa.. qualcuno saprebbe dirmi passo passo quale dovrebbe essere la mia strada? Grazie mille in anticipo
 

Nannez

Utente Attivo
70
1
Hardware Utente
CPU
AMD Athlon64 X2 4200+
Scheda Madre
m2n-e
Hard Disk
280 GB
RAM
CORSAIR XMS2 Twinx 2GB 1Gbx2 DDR2 6400
Scheda Video
ATI Radeon X1600Pro 256 MB
Monitor
Delium 22''
Alimentatore
Uno da 400W
Sistema Operativo
Windows Vista x64
Beh prima di tutto dovresti imparare c++ e di guide ne trovi a volontà su internet, meglio se ti prendi qualche manuale però. Poi per la la grafica ti segnalo questi libri:
1) J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes. Computer Graphics: principle and practice in C, Addison-Wesley.
2) R. Scateni, P.Cignoni, C.Montani, R.Scopigno, Fondamenti di grafica tridimensionale interattiva, McGraw-Hill.
3) D. Shreiner, M. Woo, J. Neider, T. Davis, - OpenGL Programming Guide, Addison-Wesley.

sono i libri che consiglia il mio professore di grafica computazionale dell'Politecnico di Parma, credo che il terzo potrebbe interessarti, onestamente non ho ancora cominciato a studiare per quel corso quindi non so darti altro aiuto.
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
Perfetto grazie mille per i testi mi metterò subito all'opera:)
 

pabloski

Utente Èlite
1,928
371
Hardware Utente
Comunque non è necessario c++ per usare opengl, anzi ad essere pignoli opengl s'interfaccia perfettamente con c.

Detto questo esistono tantissimi binding per vari linguaggi che permettono di usare opengl.

Poi ci sono anche altre librerie tipo sdl ( principalmente 2d ma fa il 3d appoggiandosi ad opengl ).

Lo dico perchè in generale non è detto che la computer grafica è opengl. Ci sono appunto directx ma anche tante altre librerie.

Comunque presumendo che stiamo parlando di grafica 3d con opengl direi che il vero scoglio da superare è capire la logica di opengl che almeno all'inizio può confondere non poco.

Un buon tutorial è questo Swiftless OpenGL Tutorials | Swiftless Tutorials
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
Ragazzi lo studio a riguardo è iniziato.. mi trovo però davanti a piccoli problemi.. devo iniziare ad usare del codice! nei vari libri da voi proposti ho trovato molto codice e volevo implementarlo personalmente se davvero funge.. cosi mi sono messo a provare.. prima di tutto ho trovato un IDE per linux (Kdevelop) e uno per windows (Visual Studio).. ora però non so come andare avanti.. basiamoci su linux perchè vorrei lavorare li..
1) come metto del codice? o.O qui esistono i "progetti" e non trovo una guida che mi spieghi come fare
2) bisogna importare le librerie OpenGL?
 

pabloski

Utente Èlite
1,928
371
Hardware Utente
Lavorare in opengl con kdevelop? Pessima idea. Kdevelop è sviluppato per programmare applicazioni kde, ha troppi incasinamenti che non ti serviranno assolutamente a nulla.

Se devi programmare in C e C++ ti conviene netbeans o codeblocks.
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
Perfetto molta fatica in meno:) mi rimane solamente da capire una cosa allora.. come importare le librerie openGL? ti faccio un esempio di codice che ho trovato sul libro e vorrei provare manualmente di persona:

#include <whateverYouNeed.h>

main() {

InitializeAWindowPlease();

glClearColor (0.0, 0.0, 0.0, 0.0);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
glFlush();

UpdateTheWindowAndCheckForEvents();
}
 

pabloski

Utente Èlite
1,928
371
Hardware Utente
#include <whateverYouNeed.h>
è scritto davvero così??? :D

comunque scherzi a parte bisogna includere GL/glut.h, GL/glu.h e GL/gl.h, solo che basta la prima perchè include già le altre due

InitializeAWindowPlease();
ma questa funzione è implementata?

glClearColor (0.0, 0.0, 0.0, 0.0);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
qui definisce il colore di background, quello di foreground e pulisce il color buffer, poi setta il volume di vista

glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
glFlush();
qua disegna un poligono di 4 vertici, si può fare con GL_QUADS o anche con glRect

questa parte però andrebbe inserita nella funzione di disegno, altrimenti quando sposti la finestra non viene ridisegnata

UpdateTheWindowAndCheckForEvents();
}
quest'altra pure suppongo sia definita da qualche parte
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
Ok... sto diventando letteralmente scemo per scaricare e installare le librerie GLUT (che da quanto ho capito sono le principali) sul mio ubuntu.. aiutami ti prego passo per passo perchè non so dove mettere mano O.o
 

pabloski

Utente Èlite
1,928
371
Hardware Utente
mmm scaricare da dove??

su ubuntu ti basta aprire synaptic o il software center ed installare i pacchetti freeglut3, freeglut3-dev, libglu1-mesa, libglu1-mesa-dev, libgl1-mesa-dev, libgl1-mesa-dri, libgl1-mesa-glx

ho listato tutti quelli necessari ma alcuni sono dipendenze di altri e quindi s'installano automaticamente e altri sono già installati
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
li ho gia tutti installati quelli ma continua a non compilare :( creo semplicemente un file in cpp e poi da terminale uso il comando g++ nomefile.cpp -o nomeEseguibile ma niente:( dice che non trova sempre le include...
 

pabloski

Utente Èlite
1,928
371
Hardware Utente
li ho gia tutti installati quelli ma continua a non compilare :( creo semplicemente un file in cpp e poi da terminale uso il comando g++ nomefile.cpp -o nomeEseguibile ma niente:( dice che non trova sempre le include...
g++ è il compilatore c++, devi usare gcc

poi devi specificare -lglut -lglu, altrimenti non aggiunge le librerie
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
quindi la linea di comando diventa gcc nomefile.cpp -o nomeEseguibile -lglut -lglu ?
 

Henry90

Utente Attivo
383
2
Hardware Utente
CPU
AMD Phenom II x4 955 BE
Scheda Madre
ASROCK 870 Extreme3
Hard Disk
Western Digital Caviar Black 500Gb (cache 32Mb)
RAM
G.skill Ripjaws 1333Mhz CL8 (2x2Gb)
Scheda Video
Radeon Sapphire 6870
Monitor
Samsung bx2231
Alimentatore
Corsair tx650
Case
Thermaltake v4
Sistema Operativo
Windows7
niente anche con quella.. l'errore continua ad essere il seguente:
prova.cpp:2: fatal error: GL/GLUT.h: File o directory non esistente
compilation terminated.
 

Entra

oppure Accedi utilizzando