Focus Render Farm Italia

Render Farm - Rendering 3D - Software 3D

FOCUS DI APPROFONDIMENTO:

Render Farm - Rendering 3D Parallelo o Distribuito - Software 3D

Il termine Render Farm deriva dall'inglese e nella traduzione letterale risulta come "fattoria della resa".
Analizzando il termine letterale "fattoria della resa" possiamo definire resa come l'insieme dei processi computazionali o di calcolo finalizzati a produrre un' immagine realizzata attraverso software 3d.

Per accrescere esponenzialmente la potenza di calcolo o computo si usa creare gruppi di computer messi in rete fra loro attraverso protocolli di comunicazione LAN oppure SAN che nel campo del 3d vengono definiti nodi di rendering.

Il processo di aggregazione di più computer in rete fra loro ha lo scopo di fornire prestazioni più performanti e di conseguenza diminuire sostanzialmente i tempi di calcolo nell'elaborazione di progetti di computer grafica che possono estendersi dagli effetti speciali pubblicitari, cinematografici, televisivi fino a comprendere i film di animazione largamente sviluppati in questi ultimi anni come ad esempio le produzioni di Pixar, Dreamworks.

Il processo di calcolo o computo delle immagini 3d viene definito rendering e può essere svolto in due modalità differenti ovvero: rendering parallelo o rendering distribuito.

Il rendering parallelo prevede che ogni nodo o computer in rete concentri la sua potenza di calcolo su di un singolo fotogramma svolgendo il rendering in maniera indipendente: es. 1 compuet = 1 fotogramma.
In questo tipo di rendering la rete che rachiude la serie di computer è funzionale a fare in modo che ogni nodo di rendering possa accedere al file sorgente di progetto dove sono settati tutti i parametri, i meteriali, le texture, le luci ecc che definiscono l'immagine 3d o la scena 3d.

Una volta eseguito il calcolo del singolo fotogramma questo viene salvato su una cartella di destinazione specifica e il nodo di rendering procede con il caricamento di una nuovo fotogramma per renderizzarlo.
Tutto questo avviene fino al termine del processo di rendering dell'intero progetto impostato dal tecnico 3d.

Il rendering distribuito prevde che l'intera potenza di calcolo generata da tutti i nodi di rendering uniti attraverso la rete venga concentrata su di un singolo fotogramma.
In questo caso si definiscono ruoli specifici fra i nodi che costituiscono il cluster dove una macchiana viene destinata al ruolo di MASTER e tutti i restanti assumo il ruolo di SLAVE.
Il master o manager ha il compito di caricare il progetto della scena 3d e attraverso la rete distribuisce agli slave o nodi il compito di calcolare una determinata porzione dell'immagine che viene definita TILE.
La porzione o dimensione di ogni singolo tile può variare a seconda del software utilizzato o dai settaggi che sono stati attribuiti alla scena.

Una volta concluso il calcolo di tutti i tile che compongono l'immagine, il computer master attiva il processo di ricomposizione ed impacchettamento del render finito.
I tempi di calcolo sono soggetti a tantissime variabili che possono essere influenzate da fattori come: la dimensione dell'immagine definitiva , il software impiegato per il calcolo del render, i settarggi ad esso assegnati, ecc.

Il panorama di software 3d presente oggi giorno sul mercato è certamente ricco ed eterogeneo, infatti con la crescita dell'impiego del 3d in diffrenti ambiti della società si è assistito al specializzazione da parte delle software house allo sviluppo di applicazioni altamente specializzate e specifiche per aumentare la qualità visiva ed agevolare il processo creativo.

A seguire un elenco dei principali software di progettazione 3d e motori di rendering 3d presenti oggi sul mercato:

- Maxwell Render
- Vray
- Mental Ray
- Brazil
- Final Render
- POV-Ray
- Vue
- Cinema 4d
- Rhinoceros
- Maya
- 3d Studio Max
- RenderMan
- Blender
- SolidWorks
- Real Flow

Questi sono solo alcuni dei tanti software di progettazione 3d o motori di rendering presenti oggi sul mercato che offrono la possibilità di essere sfruttati attraverso la potenza di calcolo della render farm.
Inoltre è necessario precisare che fra i diversi software ne troviamo alcuni che possiedono un motore interno di rendering ma che offrono la possibilità di avvalersi anche di motori di renderinìg esterni e quindi non proprietari.

Alcuni dei software sopra citati trovano impiego in ambiti specifici della progettazione come ad esempio Real Flow di Next Limit cha nasce come software specifico per la progettazione di corpi fluidi o particellari, o altrimenti come nel caso di Rhinoceros che viene largamente impiegato nel campo del design e dalla prototipazione per alcune sue specifiche peculiarità.

Fra i motori di rendering troviamo poi altre categorie di suddivisione ma la principale distingue quelli Biased da quelli Unbiased.

La principale differenza fra queste due tipologie di motori di rendering consiste nel fatto che gli Unbiased come ad esempio Maxwell Render nascono con lo scopo di ottenere un risultato quanto più prossimo possibile al foto-realismo e come nel caso di Maxwell troviamo la possibilità di impostare parametri e settaggi similari a quelli del tecnica fotografica come: profondità di campo tipo di lente e fotocamera, sensibilità ISO, temperatura della luce e tanto altro.

Questo fa si che a differenza dei software Biased i tempi di calcolo e le prestazioni hardware necessarie alla gestione del progetto su software Unbiased spesso richiedano l'ausilio di una renderfarm nella fese di rendering finale per diminuire i tempi di calcolo ed aumentare la resa foto-realistica del render 3d.

Le render farm che gestiscono un'importante potenza di calcolo spesso si avvalgono di software detti gestori di code come client-server che hanno il compito di amministrare la potenza di calcolo dei vari cluster assegnandogli i differenti progetti da reinderizzare ottimizzando le risorse GHZ/ora nello svolgimento dei processi.