<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rendering | Federico Bo</title>
	<atom:link href="https://www.federicobo.eu/tag/rendering/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.federicobo.eu</link>
	<description>Intelligenza Artificiale, Blockchain, NFT, metaverso e altre visioni</description>
	<lastBuildDate>Thu, 10 Aug 2023 15:47:29 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>I motori grafici per il metaverso: Unreal e Unity</title>
		<link>https://www.federicobo.eu/i-motori-grafici-per-il-metaverso-unreal-e-unity/</link>
		
		<dc:creator><![CDATA[Federico Bo]]></dc:creator>
		<pubDate>Thu, 16 Feb 2023 16:01:48 +0000</pubDate>
				<category><![CDATA[Evoluzioni]]></category>
		<category><![CDATA[Metaverso]]></category>
		<category><![CDATA[#gaming]]></category>
		<category><![CDATA[#grafica3D]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[realtà virtuale]]></category>
		<category><![CDATA[rendering]]></category>
		<guid isPermaLink="false">https://www.federicobo.eu/?p=4239</guid>

					<description><![CDATA[<p>Questi motori grafici consentono di lavorare sul rendering a un livello più alto di programmazione, rendendoli (relativamente) più facili e veloci da imparare e utilizzare anche grazie ai moduli e alle estensioni aggiuntive.</p>
The post <a href="https://www.federicobo.eu/i-motori-grafici-per-il-metaverso-unreal-e-unity/">I motori grafici per il metaverso: Unreal e Unity</a> first appeared on <a href="https://www.federicobo.eu">Federico Bo</a>.]]></description>
										<content:encoded><![CDATA[<p>Il <a href="https://osservatoriometaverso.it/limportanza-del-rendering-nella-costruzione-del-metaverso/" target="_blank" rel="noreferrer noopener">rendering</a> è un componente essenziale dei motori grafici. Questi motori costituiscono attualmente il framework standard per realizzare videogame, simulazioni e mondi virtuali in 3D; si occupano inoltre di molte altre funzioni come la fisica delle animazioni (<em>collision detection</em>), il suono, la gestione della memoria, lo streaming, l’utilizzo di Intelligenza Artificiale.</p>



<p><a href="https://en.wikipedia.org/wiki/Unreal_Engine" rel="noreferrer noopener" target="_blank">Unreal</a> della Epic Games e <a href="https://unity.com/" rel="noreferrer noopener" target="_blank">Unity</a> di Unity Technologies sono i leader del settore. Questi motori grafici sono scritti in C++/C# e consentono di operare a un livello più alto di programmazione, rendendoli (relativamente) più facili e veloci da imparare e utilizzare anche grazie ai moduli e alle estensioni aggiuntive. Fatte le dovute proporzioni, sono l’equivalente dei CMS come WordPress per i contenuti digitali.</p>



<h2 class="wp-block-heading">Cos’è Unreal Engine</h2>



<p>Unreal è nato nella metà degli anni ’90 grazie al codice scritto quasi interamente da <a href="https://en.wikipedia.org/wiki/Tim_Sweeney_(game_developer)" rel="noreferrer noopener" target="_blank">Tim Sweeney</a>, fondatore della Epic, per l’omonimo videogame. Negli anni grazie a un’incessante opera di ricerca e sviluppo le performance così come le funzioni aumentano. Diverse sono state anche le acquisizioni di aziende e startup; tra le ultime <a href="https://quixel.com/" rel="noreferrer noopener" target="_blank">Quixel</a>, leader mondiale nella fotogrammetria, che ha permesso all’ultima versione, Unreal 5, di importare e utilizzare materiale fotografico ad alta definizione, indispensabile per la realizzazione di copie di ambienti e strutture reali da esplorare nella realtà virtuale. Con l’esperienza di società come 3Lateral e Cubic Motion Epic ha invece realizzato <a href="https://www.unrealengine.com/en-US/metahuman" rel="noreferrer noopener" target="_blank">MetaHuman</a>, un software in grado di creare avatar iperrealistici.</p>



<p>Le grandi prestazioni del motore grafico hanno permesso nel 2017 l’uscita di <a href="https://www.epicgames.com/fortnite/it/home?lang=it" rel="noreferrer noopener" target="_blank">Fortnite</a>, uno dei giochi/mondi virtuali più famosi.</p>



<figure class="wp-block-image"><img decoding="async" src="https://osservatoriometaverso.it/wp-content/uploads/2022/10/unreal-city.png" alt="Scorcio di città con “metaumani” (Unreal)
" class="wp-image-5496" title="I motori grafici per il metaverso: Unreal e Unity 1"/><figcaption class="wp-element-caption"><em>Scorcio di città con “metaumani” (Unreal)</em></figcaption></figure>



<p>L’utilizzo di Unreal non si limita ai videogame. L’industria cinematografica ha iniziato a utilizzarlo per gli effetti speciali, in particolare per creare gli scenari del <em>ledwall</em>. Questo gigantesco schermo panoramico ad altissima definizione permette di visualizzare sfondi di ogni tipo dietro gli attori. A differenza del green screen, in cui le immagini venivano inserite in post-produzione, qui tutto avviene in real-time: la scena si modifica in base al movimento di videocamere e attori, come in una location reale. Serie come <a href="https://en.wikipedia.org/wiki/The_Mandalorian" rel="noreferrer noopener" target="_blank"><em>The Mandalorian</em></a>(<a href="https://www.youtube.com/watch?v=gUnxzVOs3rk" rel="noreferrer noopener" target="_blank">qui un interessante video su come è stato utilizzato il ledwall durante le riprese</a>)<em>,</em> <a href="https://en.wikipedia.org/wiki/The_Mandalorian" rel="noreferrer noopener" target="_blank"><em>Westworld</em></a>e <a href="https://www.youtube.com/watch?v=y7j6wNnlSpA" rel="noreferrer noopener" target="_blank"><em>Star Trek Discovery</em></a> hanno utilizzato Unreal 5.</p>



<p>Unreal si rivolge anche al mondo industriale grazie alla capacità di interfacciarsi con i più comuni software del settore, dal CAD (disegno tecnico) al <em>building information modeling</em> (BIM) per creare simulazioni di ambienti di lavoro, cantieri, linee di montaggio.</p>



<p><a href="https://www.unrealengine.com/en-US/solutions/architecture" rel="noreferrer noopener" target="_blank">L’architettura</a> ha trovato nel motore grafico di Epic un supporto estremamente efficace per la progettazione di spazi ed edifici, rendendoli “visitabili” ed esplorabili anche con i dispositivi di realtà virtuale: prestigiosi studi come <a href="https://www.twinmotion.com/en-US/spotlights/zaha-hadid-architects-turns-to-twinmotion-for-early-design-studies" rel="noreferrer noopener" target="_blank">Zaha Hadid Architects</a> e <a href="https://www.unrealengine.com/en-US/spotlights/hks-delivers-ray-traced-interactive-environments-on-stadium-sized-projects" rel="noreferrer noopener" target="_blank">HKS</a> sono utilizzatori assidui di Unreal.</p>



<p>Al di là di Fortnite e in ottica metaverso, è utilizzato per la creazione di ambienti per eventi virtuali come concerti e mostre. <a href="https://www.epicgames.com/site/en-US/news/the-lego-group-and-epic-games-team-up-to-build-a-place-for-kids-to-play-in-the-metaverse" rel="noreferrer noopener" target="_blank">Insieme a Lego sta sviluppando un ambiente che prepari i bambini a interagire, grazie al gioco, con i mondi virtuali</a>.</p>



<p>Unreal è gratuito per progetti del valore inferiore al milione di dollari, in caso contrario viene richiesta una percentuale del 5%.</p>



<h2 class="wp-block-heading">Cos’è Unity</h2>



<p>Unity nasce nel 2005. Sviluppato dalla Unity Technologies inizialmente per Mac OS X, diventa in seguito cross-piattaforma e particolarmente utilizzato nel mondo mobile: Pokémon Go e Call of Duty Mobile sono basati su di esso. <a href="https://unity.com/our-company" rel="noreferrer noopener" target="_blank">Il 72% dei primi 1.000 giochi mobile lo utilizza</a>.</p>



<p>Unity è il preferito dagli sviluppatori alle prime armi perché più facile e intuitivo; inoltre dispone di molte funzionalità <em>drag and drop</em>. È anche molto utilizzato da società e programmatori indipendenti. La sua community su Reddit si aggira sui 238.000 membri, il doppio di quella Unreal e <a href="https://unity.com/madewith" rel="noreferrer noopener" target="_blank">ha più di un milione e mezzo di sviluppatori attivi al mese</a>.</p>



<figure class="wp-block-image"><img decoding="async" src="https://osservatoriometaverso.it/wp-content/uploads/2022/10/unity-ramen.jpg" alt="Zenith: The Last City (gioco in VR, Unity)
" class="wp-image-5497" title="I motori grafici per il metaverso: Unreal e Unity 2"/><figcaption class="wp-element-caption"><em>Zenith: The Last City (gioco in VR, Unity)</em></figcaption></figure>



<p>Seppure in misura minore, anche questo framework è utilizzato in settori diverse dal gaming e in larga parte coincidenti con quelli citati per Unreal. Per competere al meglio nell’industria cinematografica, nel 2021 Unity ha acquisito Weta Digital, società di effetti speciali creata dal regista Peter Jackson.</p>



<p><a href="https://www.fastcompany.com/90797940/unity-ceo-john-riccitiello-describes-the-realities-and-distractions-of-the-metaverse" rel="noreferrer noopener" target="_blank">In un’intervista per Fast Company</a>, John Riccitiello, CEO di Unity Technologies, ha detto che la sua società è già leader nel proto-metaverso attuale. Non solo il 70% di applicazioni esistenti per AR/VR gira con Unity ma la parte che Riccitiello reputa fondamentale per il metaverso, le simulazioni, sono pane quotidiano per gli sviluppatori della società. Le simulazioni di ambienti reali diventeranno sempre più preziose perché in grado di generare quei dati sintetici necessari per sfamare le prossime generazioni di algoritmi predittivi e di Intelligenza Artificiale.</p>



<p>Unity è gratuito per i piccoli sviluppatori mentre sono previsti piani “<em>per seat</em>” per i progetti <em>business-oriented</em> (non sono previste royalties).&nbsp;</p>



<p></p>



<p><em><a href="https://osservatoriometaverso.it/i-motori-grafici-per-il-metaverso-unreal-e-unity/" target="_blank" rel="noopener" title="">Originariamente pubblicato sull&#8217;Osservatorio Metaverso</a></em></p>The post <a href="https://www.federicobo.eu/i-motori-grafici-per-il-metaverso-unreal-e-unity/">I motori grafici per il metaverso: Unreal e Unity</a> first appeared on <a href="https://www.federicobo.eu">Federico Bo</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>L’importanza del rendering nella costruzione del metaverso</title>
		<link>https://www.federicobo.eu/limportanza-del-rendering-nella-costruzione-del-metaverso/</link>
		
		<dc:creator><![CDATA[Federico Bo]]></dc:creator>
		<pubDate>Mon, 19 Dec 2022 15:19:46 +0000</pubDate>
				<category><![CDATA[Appunti]]></category>
		<category><![CDATA[Metaverso]]></category>
		<category><![CDATA[#gaming]]></category>
		<category><![CDATA[#grafica3D]]></category>
		<category><![CDATA[#mondivirtuali]]></category>
		<category><![CDATA[rendering]]></category>
		<guid isPermaLink="false">https://www.federicobo.eu/?p=4228</guid>

					<description><![CDATA[<p>IL rendering è il processo di generazione di un’immagine digitale a partire da un modello reale o da una descrizione matematica. Vediamo come funziona.</p>
The post <a href="https://www.federicobo.eu/limportanza-del-rendering-nella-costruzione-del-metaverso/">L’importanza del rendering nella costruzione del metaverso</a> first appeared on <a href="https://www.federicobo.eu">Federico Bo</a>.]]></description>
										<content:encoded><![CDATA[<p>È disdicevole parlare di metaverso senza avere un’idea di come può essere generato, almeno nelle sue fondamenta spaziali. Cerchiamo di colmare questa lacuna. Il concetto di base è quello già enunciato da Kandinsky per la pittura: <a href="https://www.amazon.it/superficie-Contributo-allanalisi-elementi-pittorici/dp/8845935523/" rel="noreferrer noopener" target="_blank">punto, linea, superficie</a>. La trasformazione del concetto in mondo virtuale è affidata al <em>rendering</em>.</p>



<p>In computer grafica, il rendering è il processo di generazione di un’immagine digitale a partire da un modello reale o da una descrizione matematica. Nel rendering 3D l’obbiettivo è creare un’immagine 2D da visualizzare su uno schermo – o comunque una superficie – simulando un’immagine 3D.<br>Questa tecnica è usata in architettura, nella progettazione industriale, nell’industria cinematografica e audiovisiva, nei simulatori di volo e di altro tipo, in campo medico e in molte altre attività.</p>



<figure class="wp-block-image"><img decoding="async" src="https://osservatoriometaverso.it/wp-content/uploads/2022/10/processo-rendering.jpg" alt="processo di rendering" class="wp-image-5493" title="L'importanza del rendering nella costruzione del metaverso 1"/><figcaption class="wp-element-caption">Il processo di rendering</figcaption></figure>



<h2 class="wp-block-heading">Le categorie di rendering</h2>



<p>Essenzialmente esistono due grandi categorie di rendering: il <em>pre-rendering</em> e il <em>rendering in real- time</em>.</p>



<p>Nel primo caso la velocità di generazione dell’immagine non è prioritaria mentre sono importanti la resa e i dettagli: il caso tipico è quello degli effetti speciali o delle animazioni nei film. Il processo è lento e computazionalmente intensivo.&nbsp;</p>



<p>Nel caso del rendering real-time è invece la velocità a diventare essenziale: le immagini devono essere generate in tempo reale. L’ambito di utilizzo e quello agli ambienti interattivi dei simulatori, dei videogiochi o dei mondi virtuali. Sono necessarie tecniche apposite, come la rasterizzazione, e acceleratori hardware come la GPU (Graphic Processor Unit,) che alleggerisce il lavoro del processore principale o CPU.</p>



<p>Quanto veloce deve essere la produzione e la successiva visualizzazione di un’immagine (un frame)? Nei vecchi film in pellicola il frame rate era di 24 fps (<em>frame per second</em>): ogni secondo si susseguivano 24 immagini, il minimo necessario per dare l’impressione di un movimento fluido. Oggi nei contesti digitali prima citati si parte dai 30 fps per arrivare ai 90 fps e più della realtà virtuale. In quest’ultimo caso deve essere generato un frame almeno ogni 90esimo di secondo. Detto in altro modo, devono essere create “al volo” almeno 90 immagini al secondo.<br>Iniziamo a vedere cosa avviene in questo brevissimo lasso di tempo.</p>



<h2 class="wp-block-heading">Come funziona il processo di rendering</h2>



<p>Il processo inizia nella CPU, dove sono contenuti i dati per assemblare l’immagine dal punto di vista geometrico, della sua collocazione nello spazio, della sua illuminazione rispetto all’osservatore, dell’aspetto delle superfici.</p>



<p>Questi dati vengono poi trasmessi alla GPU tramite API, protocolli che fanno comunicare adeguatamente le due unità: tra i più utilizzati vi sono quelli della famiglia DirectX della Microsoft e OpenGL.</p>



<p>Nella GPU inizia la “<em>rendering pipeline</em>”, la catena di montaggio dell’immagine. Mini-programmi residenti nella GPU, chiamati “<em>shader</em>”, si occupano dei vari passi. Vi sono numerose pipeline che operano in parallelo.</p>



<figure class="wp-block-image"><img decoding="async" src="https://osservatoriometaverso.it/wp-content/uploads/2022/10/graphic-pipeline-carnegie-mellon.png" alt="Graphic Pipeline" class="wp-image-5505" title="L'importanza del rendering nella costruzione del metaverso 2"/><figcaption class="wp-element-caption">Graphic Pipeline adattata da slide della Carnegie Mellon School of Computer Science</figcaption></figure>



<p>Il primo passo (Fig.A) è dedicato a trasformare – con opportuni algoritmi – le coordinate dei vertici (punti chiave) dell’immagine da 3D a 2D; si prendono in considerazione la prospettiva che in quel momento ha l’immagine rispetto all’osservatore, l’illuminazione e altri parametri.</p>



<p>Nel secondo passaggio (Fig. B) vengono connessi questi vertici, costruendo una “primitiva”, un poligono, spesso un triangolo: questa è l’elemento base delle immagini. Un’immagine è realizzata assemblando questi triangoli, tipo Lego (bidimensionale). Più sono piccoli, più l’immagine è definita ma più lavoro computazionale occorrerà per costruirla.</p>



<p>A questo punto avviene la rasterizzazione (Fig. C). Si controlla se un pixel si trova all’interno del contorno della primitiva: se sì, viene selezionato, altrimenti viene scartato. L’insieme di pixel che approssimano la primitiva viene detto “frammento” (<em>fragment</em>).</p>



<p>Il frammento e i suoi pixel vengono sottoposti alle ultime operazioni; si completa la gestione dell’illuminazione e in base a questa e alla “texture” (l’aspetto della superficie) dell’oggetto vengono assegnati i colori ai pixel (Fig. D). <a href="https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/performance-recommendations-for-unity" rel="noreferrer noopener" target="_blank">Se l’immagine da visualizzare ha una dimensione di 2K x 2K pixel, lo shader che si occupa dei frammenti viene eseguito 4 milioni di volte</a>. Per un solo frame.</p>



<figure class="wp-block-image"><img decoding="async" src="https://osservatoriometaverso.it/wp-content/uploads/2022/10/fortnite-scenagioco.jpeg" alt="Fortnite - schermata di gioco" class="wp-image-5492" title="L'importanza del rendering nella costruzione del metaverso 3"/><figcaption class="wp-element-caption">Fortnite – schermata di gioco</figcaption></figure>



<p>Prima di essere inviati al buffer di memoria, si eliminano i pixel dei frammenti coperti da altri frammenti (Fig. E): rimangono solo i pixel delle parti effettivamente in vista.</p>



<p>Il buffer si occuperà di inviare allo schermo – al momento giusto – i dati dei pixel dei vari frammenti che, insieme, formeranno un oggetto – o una sua parte – in quel breve momento visibile all’osservatore.</p>



<p>Questo, in sintesi, l’enorme lavoro computazionale che la generazione di immagini 3D dinamiche richiede. Il rendering è il core dei <em>graphic engine</em>, <a href="https://osservatoriometaverso.it/i-motori-grafici-per-il-metaverso-unreal-e-unity/" target="_blank" rel="noreferrer noopener">i motori grafici di cui abbiamo parlato in questo post</a>.</p>



<p><em><a href="https://osservatoriometaverso.it/limportanza-del-rendering-nella-costruzione-del-metaverso/" target="_blank" rel="noopener" title="">Originariamente pubblicato sull&#8217;Osservatorio Metaverso</a></em></p>The post <a href="https://www.federicobo.eu/limportanza-del-rendering-nella-costruzione-del-metaverso/">L’importanza del rendering nella costruzione del metaverso</a> first appeared on <a href="https://www.federicobo.eu">Federico Bo</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
