Videocorso Shader GLSL CGFA
Disegna con la scheda video: vertex e fragment shader, da Shadertoy al WebGL nelle tue pagine e nei tuoi giochi
- Partenza: Da zero
- 13 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Appassionati di grafica e videogiochi, sviluppatori web e studenti che vogliono creare effetti visivi, sfondi animati e materiali per giochi 2D e 3D
Cosa serve per iniziare
- Un computer con un browser moderno (Chrome, Edge, Firefox o Safari) e una scheda video qualsiasi
- Matematica delle scuole medie: somme, moltiplicazioni, un po' di coordinate
- Per la parte WebGL, conoscere le basi di HTML e JavaScript aiuta, ma ogni passo è spiegato
Cosa installare
A cosa ti serve
- Programmatore grafico e Technical Artist nei videogiochi
- Effetti visivi per siti web (sfondi animati, transizioni, immagini interattive)
- Visualizzazione di dati e mappe in tempo reale
- Arte generativa, installazioni e visual per eventi
- Base per il rendering, la realtà virtuale e il calcolo sulla GPU
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Pensare come una scheda video: colori, coordinate, forme e movimento
Intermedio
WebGL, vertex shader, trasformazioni, texture e illuminazione
Avanzato
Rumore, raymarching, effetti e shader per i giochi
Progetto finale: Il tramonto sul golfo: uno shader animato per la tua pagina
Crea uno sfondo animato per un sito: cielo sfumato, sole che tramonta sul mare, Vesuvio in silhouette, nuvole con il rumore fbm e onde che brillano. Lo provi su Shadertoy e poi lo porti nella pagina WebGL del corso, con la possibilità di fermare l'animazione.
I passi
- Su Shadertoy crea il cielo: una sfumatura con mix tra arancione e blu notte, in base a uv.y.
- Disegna il sole con un cerchio smoothstep che scende lentamente con iTime.
- Aggiungi il mare nella parte bassa, con una sfumatura più scura.
- Disegna la sagoma del Vesuvio con una funzione (per esempio un triangolo smussato con abs e smoothstep).
- Inserisci le nuvole con la funzione fbm, spostate lentamente.
- Aggiungi i riflessi sul mare con un seno che dipende da uv.x e dal tempo.
- Porta lo shader nella pagina WebGL: main, gl_FragCoord, uTempo e uRisoluzione.
- Aggiungi un pulsante "Ferma animazione" che smette di chiamare requestAnimationFrame, e rispetta chi ha attivato "riduci movimento" con la regola prefers-reduced-motion.
Esame e attestato
Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.
Glossario di Shader GLSL
- Shader
- Un piccolo programma eseguito dalla scheda video su molti punti o pixel insieme.
- GLSL
- Il linguaggio con cui si scrivono gli shader per OpenGL e WebGL.
- Vertex shader
- Lo shader che decide dove va ogni vertice di una forma sullo schermo.
- Fragment shader
- Lo shader che decide il colore di ogni pixel.
- Uniform
- Un valore uguale per tutti i pixel, passato dall'esterno, come il tempo.
- Varying
- Un valore passato dal vertex al fragment shader e interpolato tra i vertici.
- Texture
- Un'immagine che lo shader può leggere per ricavarne i colori.
- Normale
- Un vettore che indica verso dove "guarda" una superficie, usato per la luce.
- Matrice
- Una tabella di numeri che sposta, ruota o ingrandisce i punti.
- Rumore
- Casualità continua usata per creare nuvole, terreni e texture procedurali.
- SDF
- Funzione di distanza con segno: dice quanto un punto è lontano da una forma.
- Raymarching
- Tecnica che fa avanzare un raggio per ogni pixel fino a toccare una forma descritta da formule.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.