Raytracing project/it

=Progetto Raytracing=

Questo è il progetto di sviluppo per l'implementazione di un modulo Raytracing (Renderizzazione tramite tracciato di raggi di luce) in FreeCAD. Esso segue le regole della metodologia | Getting things done (metodo per l'organizzazione delle proprie azioni, per la gestione del tempo e dei progetti per 'fare in modo che le cose vengano fatte'). I progetti sono raccolti nel Piano di sviluppo (Development roadmap).

__

Finalità e principi
Lo scopo di questo progetto è quello di aggiornare il Modulo di renderizzazione corrente che ora utilizza POV-Ray (un renderizzatore parziale che dà risultati soddisfacenti) e permettere di utilizzare renderizzatori più moderni come Lux Render, YafaRay, Indigo.

Scopo di questo progetto è anche di fornire una interfaccia generica che permetta di utilizzare più back-end (stadi finali) di renderizzazione per visualizzarne le caratteristiche all'interno di FreeCad. Fornire una interfaccia di programmazione più generica permetterà di creare più facilmente i plugin di rendering.

L'interfaccia consentirà di utilizzare sia i renderizzatori open source che i renderizzatori proprietari esterni per generare file di scena compatibili e avviare un processo separato in background. Il risultato potrà quindi essere visualizzato in anteprima direttamente all'interno FreeCAD aprendo il file temporaneo di output (se disponibile).

Ogni renderizzatore sarà un plugin all'interno di una interfaccia generica e fornirà materiali e modalità di renderizzazione compatibili.

Risultati
Una eccellente visualizzazione! Produrre risultati di alta qualità delle parti con documenti di FreeCAD e fornire una interfaccia molto semplice con i parametri preimpostati per consentire l'inizializzazione rapida per il rendering e per le anteprime.

L'interfaccia utente dovrebbe consentire di realizzare situazioni complesse e, possibilmente, di visualizzarle in anteprima in modo da permettere di cambiare e modificare le luci e le posizioni. Tuttavia, l'obiettivo è di fornire una suite di rendering completa di tutte le funzionalità.

Riflessioni
'Dovrà' essere creata una libreria dei materiali per ogni plugin render con i parametri preimpostati. Le proprietà del materiale potranno essere modificate. Avere i parametri della scena preimpostati dovrebbe consentire anche agli utenti poco esperti di rendering di produrre delle belle immagini in breve tempo.

Organizzazione
L'interfaccia generica è attualmente in fase di creazione e, per testarne l'integrazione, Lux render, un renderizzatore neutrale, sarà il primo renderizzatore ad essere implementato. Il lavoro attuale è realizzato interamente da mrlukeparry sul suo ramo di renderizzazione Github Render Branch.

Attualmente è possibile renderizzare oggetti con Lux Render:



E' visualizzata una parte creata con PartDesign/Schizzo e poi renderizzata con il nuovo modulo di renderizzazione in fase di sviluppo in Lux Render. Lux Render permette di creare gradevoli effetti, come ad esempio DOF, per migliorare il realismo.

Azioni successive

 * Creare la Astrazione per fornire l'interfaccia tra i renderizzatori


 * Implementare un'interfaccia per descrivere i materiali generici e la loro collezione


 * Implementare un'interfaccia per descrivere i parametri di renderizzazione preimpostati


 * Implementare una funzione per memorizzare tutte queste informazioni in modo permanente


 * Creare un modulo di ambiente per visualizzare l'output


 * Creare gli strumenti dell'ambiente di lavoro per modificare le proprietà dei renderizzatori


 * Creare gli strumenti dell'ambiente di lavoro per esplorare, modificare e applicare le caratteristiche dei materiali alla parte