UI-UX designer, Front-End wed developer,
Web Marketing certificato, designer 3D
©1996-2024 Gianluca Panebianco

Programmazione Video Giochi in OpenGL e C++ (parte 1/2)

Home > Blog > Programmazione Video Giochi in OpenGL e C++ (parte 1/2)

Programmazione Video Giochi in OpenGL e C++ (parte 1/2)

In queste presenteremo una breve introduzione alla programmazione delle librerie OpenGL sfruttando il linguaggio C++ e con Sistema Operativo di base Windows.

1. Introduzione, Teoria e Glossario

OpenGl è un'interfaccia software per l'hardware grafico. Tale interfaccia consiste di circa 120 comandi distinti.
OpenGl è disegnato come un'interfaccia indipendente dall'hardware, così da poter essere implementato su diverse piattaforme. Non ci sono comandi per eseguire gestione di finestre o input da parte dell'utente (lettura eventi da mouse o tastiera) in OpenGL, e i modelli grafici che si possono costruire partono da una piccola libreria di oggetti base (punti, linee e poligoni).

Lightwave Opengl

Rendering - è il procedimento con cui un computer crea immagini a partire da modelli. Questi modelli, o oggetti, sono costruiti a partire da primitive geometriche (punti, linee e poligoni) che sono specificati attraverso i loro vertici.
Un immagine renderizzata consiste di pixel posti sullo schermo.
Pixel (picture element) - è la più piccola unità visualizzabile da un dispositivo hardware di visualizzazione.

L'informazione circa un pixel (per esempio di che colore è) è mantenuta dal sistema in una porzione di memoria detta bitplane.
Bitplane - è un'area di memoria che tiene un bit di informazione per ogni pixel sullo schermo.
Le bitplane sono organizzate a loro volta in framebuffer, che mantengono tutte le informazioni di cui il display grafico necessita per controllare l'intensità di tutti i pixel sullo schermo.

Quindi, OpenGL contiene comandi di rendering ma è progettato per essere indipendente da qualsiasi sistema di finestre, e in generale da qualsiasi sistema operativo.
Le sue operazioni sono di basso livello. L'utilizzatore può scrivere delle proprie routine o librerie per facilitare il proprio lavoro. Esistono già due importanti librerie sviluppate sotto OpenGL: OpenGL Utilità Library (GLU) e OpenGL Extension for the X Window System (GLX).

Per animare un oggetto, l'idea di base è che più immagini (o frames) vengano poste in sequenza una dopo l'altra, di solito alla frequenza di 1/24 di secondo. Queste immagini devono essere complete (per esempio in un programma, può accadere che il tempo di ridisegno di un'immagine non sia sufficientemente veloce per stare in 1/24 di secondo).
Per far si che questo accada, si ricorre alla tecnica di doppio buffering, ovvero mentre un'immagine è mostrata a schermo, l'altra viene ridisegnata in background, cosicchè è già pronta alla prossima visualizzazione. Poi si fa un semplice swap dei due buffer e si ridisegna quello ora in background. Così ogni frame è mostrato solo quando è completo.

Informazioni sull'autore di questo articolo:
Davide Di Giulio è un esperto programmatore C++. Nell'ultimo anno si è specializzato nella programmazione delle librerie OpenGL in ambiente Windows con scopo di visualizzazione 2D e 3D realtime di geometrie complesse a supporto della produttività aziendale.
Davide ha anche un sito, potete accedervi a questo indirizzo: Davide Di Giulio Homepage
Programmazione Video Giochi in OpenGL e C++
< Precedente 1 2 Successivo >

Alcune idee per i tuoi acquisti

Qui puoi trovare alcuni prodotti che ho accuratamente selezionato per te e relativi ai contenuti di questa pagina, e sono venduti su Amazon.it

Game Programming Patterns
di Robert Nystrom (Autore), Edizione Inglese, del 2 novembre 2014
Programmare in C++
Editore : ‎ Tecniche Nuove;
2° edizione (6 aprile 2006)
Lingua:‎ Italiano
Copertina flessibile:‎ 587 pagine
Programmazione in C++
Editore: Apogeo Education;
1° edizione (15 aprile 2011)
Lingua: ‎ Italiano
Copertina flessibile, 672 pagine