
Corso Avanzato di Computer Graphics con C# e .NET
Padroneggia la computer grafica avanzata, dalla manipolazione dei pixel 2D al rendering 3D fisicamente basato, utilizzando C# e .NET. Implementerai pipeline DirectX 11, scriverai shader HLSL e ottimizzerai le prestazioni della GPU con tecniche consolidate nel settore. Questo corso ti porta dalla matematica di base a sistemi di rendering pronti per la produzione, interamente realizzati in C#.
Cosa imparerai:
Configurare un dispositivo DirectX 11, una swap chain e una pipeline di shader HLSL in C# utilizzando SharpDX.
Costruire un grafo di scena 3D gerarchico con rotazioni a quaternioni e trasformazioni di matrice MVP.
Implementare una pipeline di rendering fisicamente basato con BRDF Cook-Torrance e illuminazione basata su immagini.
Applicare tecniche shader avanzate, tra cui shadow mapping, deferred shading e post-processing in spazio schermo.
Ottimizzare le prestazioni del rendering in tempo reale attraverso la profilazione GPU, il batching delle draw call e l'occlusion culling.
Sviluppare una libreria riutilizzabile di elaborazione delle immagini utilizzando kernel di convoluzione, operazioni morfologiche e filtri FFT.
Come studi in modo pratico Corso Avanzato di Computer Graphics con C# e .NET
Come metti in pratica Corso Avanzato di Computer Graphics con C# e .NET
Per te che sei un'azienda e vuoi formare il tuo team
Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.
Contenuto del corso
8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliFondamenti di grafica con C# e .NET
Fondamenti di grafica con C# e .NET
Lezione 1 • Configurazione dell'ambiente di sviluppo
Si installano Visual Studio, .NET SDK e le librerie grafiche necessarie per il corso. Una configurazione corretta previene errori nella toolchain in tutti i capitoli successivi.
Lezione 2 • Modelli di colore e manipolazione dei pixel
Si illustrano gli spazi colore RGB, ARGB, HSL e lineari con strutture C#. L'accesso diretto ai pixel tramite BitmapData prepara gli studenti ai capitoli sull'elaborazione delle immagini.
Lezione 3 • Rendering di forme primitive
Si disegnano linee, rettangoli, ellissi e poligoni utilizzando System.Drawing e SkiaSharp. Gli esercizi consolidano i sistemi di coordinate e gli oggetti paint di base.
Lezione 4 • Elementi essenziali della sintassi C# per la grafica
Si trattano variabili, flusso di controllo, classi e generici applicati al codice grafico. Questi costrutti sono alla base di ogni algoritmo di rendering del corso.
Lezione 5 • Comprendere lo stack grafico .NET
Si mappano i livelli dal codice C# gestito fino alle chiamate native alla GPU. Gli studenti identificano dove si collocano GDI+, SkiaSharp e DirectX nello stack.
Capitolo 2NascondiNascondi dettagliVedi dettagliRendering 2D e matematica delle trasformazioni
Rendering 2D e matematica delle trasformazioni
Lezione 1 • Trasformazioni affini in C#
Si applicano System.Drawing.Drawing2D.Matrix e SkiaSharp SKMatrix agli oggetti della scena. Gli studenti manipolano lo stack di stato grafico per trasformazioni annidate.
Lezione 2 • Clipping, culling e dirty region
Si utilizzano rettangoli di clipping e invalidazione basata su regioni per ottimizzare i ridisegni 2D. Queste tecniche riducono il carico della CPU in scene interattive complesse.
Lezione 3 • Vettori e sistemi di coordinate
Si definiscono vettori 2D, prodotti scalari e perpendicolari con struct C#. La matematica vettoriale è la base per tutti i calcoli di trasformazione e collisione successivi.
Lezione 4 • Matematica delle matrici per trasformazioni 2D
Si introducono le matrici omogenee 3x3 per traslazione, rotazione e scala. Gli studenti compongono catene di trasformazione e comprendono l'ordine di moltiplicazione delle matrici.
Lezione 5 • Animazione di sprite e temporizzazione dei fotogrammi
Si implementano fogli sprite, sequenziamento dei fotogrammi e cicli di animazione a delta-time. Una temporizzazione coerente dei fotogrammi garantisce un movimento fluido su hardware diversi.
Capitolo 3NascondiNascondi dettagliVedi dettagliElaborazione delle immagini e filtri
Elaborazione delle immagini e filtri
Lezione 1 • Operazioni morfologiche
Si eseguono erosione, dilatazione, apertura e chiusura su immagini binarie e in scala di grigi. Queste operazioni supportano compiti di analisi della forma e rimozione del rumore.
Lezione 2 • Schemi di accesso alle bitmap e prestazioni
Si confrontano GetPixel, LockBits e l'accesso unsafe tramite puntatori in termini di throughput. La scelta dello schema di accesso corretto è critica prima di implementare qualsiasi filtro.
Lezione 3 • Operazioni puntuali e regolazioni del colore
Si applicano trasformazioni di luminosità, contrasto, gamma e miscelazione dei canali pixel per pixel. Le lookup table accelerano significativamente le operazioni puntuali ripetute.
Lezione 4 • Elaborazione nel dominio della frequenza
Si applica la Trasformata Veloce di Fourier alle immagini per il filtraggio basato sulla frequenza. Gli studenti implementano filtri passa-basso e passa-alto nel dominio della frequenza.
Lezione 5 • Kernel di convoluzione e filtri spaziali
Si implementano sfocatura, nitidezza, rilevamento dei bordi e rilievo tramite convoluzione 2D. Gli studenti scrivono un motore di kernel generico che accetta qualsiasi matrice NxN.
Capitolo 4NascondiNascondi dettagliVedi dettagliMatematica 3D e rappresentazione della scena
Matematica 3D e rappresentazione della scena
Lezione 1 • Vettori 3D e prodotto vettoriale
Si definiscono le operazioni su Vector3, inclusi prodotto vettoriale, normalizzazione e proiezione. Queste primitive sono alla base dei calcoli di illuminazione, fisica e telecamera.
Lezione 2 • Matrici 4x4 e trasformazioni 3D
Si costruiscono le matrici di modello, vista e proiezione utilizzando la matematica omogenea 4x4. Gli studenti comprendono la pipeline MVP utilizzata da ogni renderer 3D.
Lezione 3 • Progettazione e implementazione del grafo di scena
Si costruisce un grafo di scena basato su nodi con ereditarietà delle trasformazioni genitore-figlio. La struttura del grafo organizza tutti gli oggetti 3D nei capitoli successivi.
Lezione 4 • Quaternioni per la rotazione
Si rappresentano le rotazioni 3D con i quaternioni per evitare il gimbal lock. Gli studenti implementano l'interpolazione SLERP per un'animazione fluida di telecamere e oggetti.
Lezione 5 • Volumi di delimitazione e interrogazioni spaziali
Si implementano AABB, OBB e sfere di delimitazione per interrogazioni spaziali veloci. Un culling e un rilevamento delle collisioni efficienti dipendono da queste strutture.
Capitolo 5NascondiNascondi dettagliVedi dettagliRendering DirectX 11 con SharpDX
Rendering DirectX 11 con SharpDX
Lezione 1 • Texturing e stati del campionatore
Si caricano immagini nelle viste delle risorse shader e si configurano le modalità di filtraggio del campionatore. Una corretta configurazione delle texture consente dettagli superficiali realistici sulle mesh 3D.
Lezione 2 • Configurazione del dispositivo DirectX 11 e della catena di scambio
Si creano un dispositivo D3D11, un contesto di dispositivo e una catena di scambio destinati a una finestra WinForms o WPF. Questo schema di inizializzazione viene riutilizzato in ogni progetto DirectX.
Lezione 3 • Modelli di illuminazione in HLSL
Si implementano illuminazione ambiente, diffusa e speculare utilizzando i modelli di Phong e Blinn-Phong. Gli studenti estendono il pixel shader per supportare sorgenti luminose multiple.
Lezione 4 • Programmazione di shader HLSL
Si scrivono vertex e pixel shader in HLSL, si compilano a runtime e si associano i buffer costanti. Gli shader controllano ogni effetto visivo nella pipeline DirectX.
Lezione 5 • Vertex buffer e layout di input
Si definiscono le strutture dei vertici, si carica la geometria nei buffer della GPU e si configurano i layout di input. Una corretta configurazione dei buffer è un prerequisito per qualsiasi chiamata di disegno.
Capitolo 6NascondiNascondi dettagliVedi dettagliTecniche avanzate di shader
Tecniche avanzate di shader
Lezione 1 • Tecniche di shadow mapping
Si esegue il rendering di una mappa di profondità dalla prospettiva della luce e si confrontano le profondità nel pixel shader. I filtri PCF e PCSS riducono l'aliasing sui bordi delle ombre.
Lezione 2 • Effetti di post-elaborazione in spazio schermo
Si applicano SSAO, bloom, tone mapping e FXAA come pass su un quad a schermo intero. La post-elaborazione trasforma i render grezzi in immagini curate e cinematografiche.
Lezione 3 • Pipeline di deferred shading
Si memorizzano gli attributi geometrici in un G-buffer e si valuta l'illuminazione in un pass in spazio schermo. Il deferred shading scala efficientemente con un gran numero di luci dinamiche.
Lezione 4 • Compute shader per il parallelismo GPU
Si lanciano compute shader per la simulazione di particelle, l'elaborazione di immagini e la riduzione dei dati. I compute shader sbloccano il parallelismo della GPU oltre la pipeline di rasterizzazione.
Lezione 5 • Normal e parallax mapping
Si perturbano le normali della superficie utilizzando mappe delle normali in spazio tangente per dettagli ad alta frequenza. Il parallax occlusion mapping aggiunge l'illusione di profondità senza geometria aggiuntiva.
Capitolo 7NascondiNascondi dettagliVedi dettagliOttimizzazione del rendering in tempo reale
Ottimizzazione del rendering in tempo reale
Lezione 1 • Ottimizzazione della memoria e della larghezza di banda
Si comprimono le texture, si impacchettano gli attributi dei vertici e si gestiscono gli heap di risorse per ridurre la larghezza di banda. I limiti di banda sono il collo di bottiglia dominante sulle GPU moderne.
Lezione 2 • Occlusion e frustum culling
Si elimina la geometria invisibile prima dell'invio utilizzando pass di culling su CPU e GPU. Il culling è l'ottimizzazione a più alto impatto nelle scene dense.
Lezione 3 • Strategie di riduzione delle chiamate di disegno
Si applicano istanziazione, batching geometrico e disegno indiretto per ridurre l'overhead delle chiamate di disegno. Meno chiamate di disegno riducono direttamente l'overhead del driver della CPU per fotogramma.
Lezione 4 • Sistemi di livello di dettaglio
Si cambia la complessità della mesh e dello shader in base alla dimensione in spazio schermo o alla distanza. I sistemi LOD mantengono la qualità visiva riducendo il carico di vertici della GPU.
Lezione 5 • Profilazione e identificazione dei colli di bottiglia
Si utilizzano profiler GPU, PIX e RenderDoc per individuare gli stalli di CPU e GPU. Dati di profilazione accurati devono precedere qualsiasi sforzo di ottimizzazione.
Capitolo 8NascondiNascondi dettagliVedi dettagliRendering fisicamente basato in C#
Rendering fisicamente basato in C#
Lezione 1 • Teoria PBR e modello di materiale
Si spiegano la teoria dei microfacets, la conservazione dell'energia e la BRDF di Cook-Torrance. Comprendere la fisica garantisce scelte corrette dei parametri del materiale.
Lezione 2 • Luci d'area e light probe
Si approssimano luci d'area rettangolari e sferiche utilizzando LTC e griglie di light probe. Le luci d'area aggiungono un'illuminazione morbida e realistica alle scene interne.
Lezione 3 • Implementazione dello shader PBR
Si traducono le equazioni di Cook-Torrance in HLSL con mappe metallic, roughness e AO. Lo shader si integra con la pipeline differita costruita nel Capitolo 6.
Lezione 4 • Tone mapping e color grading
Si convertono i valori di luce lineare HDR in output riferito al display utilizzando gli operatori ACES e Reinhard. Le LUT di color grading applicano l'intento artistico dopo il tone mapping.
Lezione 5 • Illuminazione basata su immagini
Si precalcolano mappe di irradianza diffusa e radianza speculare da mappe d'ambiente HDR. L'IBL fornisce un'illuminazione ambientale realistica senza costosi ray tracing.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatori C#: desiderosi di andare oltre le applicazioni aziendali per dedicarsi alla programmazione grafica.
Sviluppatori di videogiochi: interessati a una conoscenza di basso livello di DirectX, anziché alle astrazioni dei motori grafici.
Ingegneri del software: in fase di transizione verso ruoli di simulazione, visualizzazione o tooling per videogiochi.
Studenti di informatica: pronti ad applicare il lavoro dei corsi di matematica a sistemi di rendering reali.
Artisti tecnici: alla ricerca di una conoscenza più approfondita di shader e pipeline tramite codice C#.
Programmatori hobbisti: appassionati nel costruire il proprio renderer 3D da zero.
Cosa dicono i nostri studenti
Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

Principali percorsi formativi
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF




















