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
Il progetto è quello di aggiornare il [Raytracing_Module/it|Modulo di renderizzazione] corrente che attualmente utilizza POV-Ray, un renderizzatore parziale che dà risultati soddisfacenti, e permettere di utilizzare renderizzatori più moderni come Lux Render, YafaRay, Indigo.

Anche di fornire una interfaccia generica per 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 plugin di rendering.

L'interfaccia consentirà di utilizzare sia renderizzatori open source che renderizzatori proprietari esterni per generare un 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
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 più complesse e, possibilmente, visualizzarle in anteprima in modo da permettere di cambiare e modificare le luci e le posizioni. Tuttavia, l'obiettivo è di fornire non una suite di rendering completa di tutte le funzionalità.

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

Organizzazione
L'interfaccia generica è attualmente in fase di creazione e, per testare l'integrazione, Lux render, un renderizzatore neutrale, sarà il primo 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 gradevoli effetti come DOF che posssono essere creati 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