Con OpenGL, la descrizione della forma di un oggetto
che deve essere disegnato è indipendente dal suo colore. Qualunque
sia la geometria dell'oggetto disegnato, userà lo schema di colore
corrente. Lo schema di colore può essere semplice come “disegna
tutto rosso scarlatto” oppure complicato come “ prendi un oggetto
fatto di plastica blu, con un riflettore giallo puntato su di esso,
in modo che vi sia una luce diffusa rossastra su tutto il resto”.
In generale, il programmatore OpenGL deve impostare il colore o lo
schema di colore per disegnare l'oggetto. Non appena lo schema di
colore viene modificato, tutti gli oggetti saranno disegnati con
quello schema di colore. Questo metodo aiuta OpenGL a raggiungere
ottime performance che non si otterrebbero se non tenesse traccia
dello schema di colore. Un esempio di pseudo-codice:
imposta_colore(rosso);
disegna_oggetto(A);
imposta_colore(verde);
disegna_oggetto(B);
disegna_oggetto(C);
Colorazione, ombreggiatura, illuminazione sono
grandi argomenti che richiedono capitoli di libri, o lunghi
paragrafi dedicati ad essi. Tuttavia, per disegnare semplici forme
primitive, necessita solo una conoscenza di base su come impostare il
colore corrente, questa informazione viene fornita nel paragrafo
seguente. Per impostare il colore si utilizza il comando glColor3f().
Richiede 3 parametri il cui valore è compreso tra 0.0 e 1.0, virgola
mobile. Questi rappresentano le componenti Rosso, Verde, Blu del
colore. Utilizzare il valore 1.0 per un solo parametro, azzerando gli
altri, crea un colore puro.
glColor3f(1.0, 0.0, 0.0);
Crea il colore rosso più luminoso del sistema di
disegno, senza componenti verdi o blu. Tutti i parametri a 0 creano
un colore nero, tutti a 1 il colore bianco. Qui vi sono gli otto
comandi del colore che possono essere impostati per esempio.
glColor3f(0.0, 0.0, 0.0);
nero
glColor3f(1.0, 0.0, 0.0);
rosso
glColor3f(0.0, 1.0, 0.0);
verde
glColor3f(1.0, 1.0, 0.0);
giallo
glColor3f(0.0, 0.0, 1.0);
blu
glColor3f(1.0, 0.0, 1.0);
magenta
glColor3f(0.0, 1.0, 1.0);
ciano
glColor3f(1.0, 1.0, 1.0);
bianco
Come si può notare, nella precedente routine era
stato spiegato come impostare il colore di pulizia dello schermo in
glClearColor() , usa quattro
parametri, i primi tre sono i parametri di glColor3f();
il quarto è il valore di alfa.
Nessun commento:
Posta un commento