Categories: GraficaProgrammazione

Introduzione a OpenGL

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:

  • Gestione delle viste ortogonali e prospettiche
  • Illuminazione
  • Texturing
  • Trasparenze
  • Effetti come nebbia, motion blur e messa a fuoco
  • Anti-aliasing

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:

  • GL ( Graphics Library ) – Il nucleo della libreria grafica, qui vengono fornite le funzioni a basso livello come il tracciamento dei poligoni, l’illuminazione e la gestione dei vari buffer per il disegno.
  • GLU ( OpenGL Utility Library ) – Estensione di GL con una serie di operazioni e primitive di utilità generale, implementate con le funzioni che si trovano in GL, qui si trovano quelle per il posizionamento di una telecamera o la gestione delle superfici NURBS.
  • GLUT ( OpenGL Utility Toolkit ) – Libreria opzionale che fornisce al programmatore la possibilità di avere una gestione di un’interfaccia a finestre svincolata dal sistema operativo. In GLUT si trovano comandi in grado di aprire una finestra, controllarne lo stato, ricevere eventi dal mouse e dalla tastiera, gestire i menu ed in generale tutto quello che si può fare con un normale window manager.

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 >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Published by
Giampaolo Rossi
Tags: OpenGL

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

10 mesi ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

11 mesi ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

3 anni ago