OpenGL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1:
{{da tradurre|inglese}}
{{wikificare}}
'''OpenGL''' (da '''Open''' '''G'''raphics '''L'''ibrary, ossia libreria aperta di grafica) è una specifica che definisce una API per più linguaggi e per più piattaforme per scrivere applicazioni che producono [[computer grafica]] 3D e 2D. L'interfaccia consiste in circa 250 diverse chiamate di funzione che si possono usare per disegnare complesse sxcene tridimensionali da semplici primitive. È molto usato nell'industria dei videogiochi (nella quale compete con Direct3D su Microsoft Windows). OpenGL viene usato anche per applicazioni di CAD, realtà virtuale, e CAE.
Esistono implementazioni efficienti di OpenGL (che sfruttano in modo più o meno completo le [[GPU]]) per [[Microsoft Windows]], molte piattaforme [[Unix]], la Playstation 3, e il Mac OS. Queste implementazioni vengono normalmente fornite dai costruttori di dispositivi video e si affidano pesantemente sull'hardware fornito dal costruttore. La libreria ''open source'' ''Mesa'' è un'API grafica basata solamente su librerie software che è compatibile con OpenGL. Tuttavia, a causa della licenza, può solo sostenere di di essere un'API "molto simile".
Riga 15:
Può succedere che più di un produttore si accordi per implementare la stessa funzionalità estesa.
In tal caso, si usa l'abbreviazione ''EXT''.
Può anche accadere che l'ARB approvi l'estensione.
Allora essa diventa nota come una ''estensione standard'', e si usa l'abbreviazione ''ARB''.
La prima estensione ARB è stata la <code>GL_ARB_multitexture</code>.
Avendo seguito il percorso di promozione per le estensioni ufficiali, la multitexture non è più un'estensione ARB implementata opzionalmente, ma è stata integrata nell'API base di OpenGL a partire dalla versione 1.4.
Le specifiche per quasi tutte le estensioni si trovano nel repository ufficiale delle estensioni: [http://oss.sgi.com/projects/ogl-sample/registry/].
* [[GLU]]
Riga 24 ⟶ 28:
* [[GLUI]]
In
==
==Funzionalità ad alto livello==
OpenGL è sato progettato per essere di solo output: fornisce solamente funzioni di [[rendering]]. L'API di base non contempla la gestione di finestre, l'audio, la stampa, la tastiera, il mouse, né altri dispositivi di input. Per quanto questo può sembrare restrittivo, permette al codice di rendering di essere completamente indipendente dal [[sistema operativo]] su cui funziona, permettendo lo sviluppo di codice indipendente dalla piattaforma.
Tuttavia, per consentire un'interazione con il sistema ospitante, è necessario integrare il software con il sistema a finestre nativo.
Ciò viene effettuato tramite le seguenti API aggiuntive:
* [[GLX]] - X11 (
* [[WGL]] - [[Microsoft
[[Mac OS X]]
==History==
|