OpenGL è una libreria per grafica interattiva sia 2D che 3D, fornisce una serie di operazioni basilari per il disegno ed ha come punti di forza l’indipendenza dalla piattaforma ed un’alta efficienza. Fra le caratteristiche possiamo trovare:

Differenziandosi da altre librerie grafiche, OpenGL si è specializzata in operazioni grafiche di basso livello per massimizzare l’efficienza e la flessibilità.
Esistono versioni per Linux, Windows e Mac, in questa serie di articoli dedicati alle librerie OpenGL svilupperemo in ambiente Windows con il Visual C/C++. Tuttavia va notato che la libreria non è object-oriented ( anche se esistono estensioni in questo senso ) e l’integrazione con il C++ può portare a stili di programmazione non molto puliti.
OpenGL è composto sostanzialmente da tre sotto-librerie:

OpenGL si distingue per una sintassi particolare, tutte le funzioni cominciano difatti con il prefisso della loro libreria, quindi gl per la libreria principale, glu per la seconda e glut per la terza. I tipi di dato supportati sono:

Suffisso Tipo Tipo C Tipo OpenGL
b
s
i
f
d
ub
us
ui
Intero 8 bit
Intero 16 bit
Intero 32 bit
Reale 32 bit
Reale 64 bit
Intero no segno 8 bit
Intero no segno 16 bit
Intero no segno 32 bit
signed char
short
int
float
double
unsigned char
unsigned short
unsigned int
GLbyte
GLshort
GLint
GLfloat
GLdouble
GLubyte
GLushort
GLuint

Quasi tutte le funzioni che hanno parametri terminano con i tipi di dato dell’argomento, per esempio glVertex3fv significa che la funzione fa parte della libreria GL e le coordinate saranno 3 di tipo float e saranno un vettore. Un altro aspetto peculiare di OpenGL è la sua impostazione come macchina a stati, difatti alcuni parametri come il colore possono essere attivati o disattivati. La funzione glColor3f serve per specificare un colore, fino a quando non sarà impostato un altro o verrà disabilitato, tutte le primitive grafiche saranno disegnate con quel colore.
Per ora abbiamo introdotto le basi teoriche sulle librerie OpenGL, ma dal prossimo articolo utilizzeremo le librerie GLUT per creare una finestra che risulterà sempre utile per provare i vari listati per prendere padronanza con queste librerie grafiche.

Lezione Successiva >>

2 risposte

  1. Salve, volevo chiedervi prima di iniziare a leggere le vostre dispende sulle opengl, quale editor dovrei utilizzare, quale consigliate.
    Grazie

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.