Kerkythea
# Kerkythea

Kerkythea è un motore di rendering, distribuito gratuitamente e di facile utilizzo, che mette a disposizione diversi metodi (biased e unbiased) come raytracing, path-tracing, bidirectional path-tracing e metropolis light transport.

Può essere utilizzato in combinazione con applicazioni tipo 3D Studio Max, Blender, SketchUp, Silo e ogni altra che può esportare in formato 3ds e obj.

Kerkythea è un renderer standalone che usa luci e materiali fisicamente corretti, ottenendo una qualità eccellente delle immagini.

L'intento è quello di semplificare il compito della definizione di immagini sintetiche di alta qualità, fornendo strumenti necessari per automatizzare il setup delle scene, utilizzando il viewer GL in tempo reale, editor di materiali, l'editor dei parametri ecc., tutto all'interno della stessa interfaccia utente.

## Storia

Lo sviluppo di Kerkythea (KT) è cominciato a partire da settembre 2004. Lo sviluppo è partito dal kernel e dalle librerie di Phos (un vecchio motore di rendering), con un'importante parte del codice sorgente già ben strutturata e testato. Ci sono voluti più di sei mesi prima che il progetto Kerkythea venisse ufficialmente distribuito (aprile 2005).

## Caratteristiche

Formati di file 3D supportati:

* 3DS
* OBJ
* XML (interno)
* SIA (Silo, parzialmente supportato)

Formati di immagine supportati:

* Tutti quelli supportati dalla libreria FreeImage (JPG, BMP, PNG, TGA, HDR)

Materiali supportati:

* Matte
* Riflessione/rifrazione
* Blurry Reflections/Refractions
* Translucency (SSS)
* Dielettrico
* Vetro sottile
* Phong shading
* Ward Anisotropo
* Ashikhmin Anisotropo
* Lafortune
* Materiali layered

Tipi di luce supportati:

* Omni Light
* Spot Light
* Proiettore
* Point Diffusa
* Area
* Point Light Sferica ombre morbide
* Ambient
* Sky Lighting [Physical Sky, SkySphere Bitmap (Normal or HDRI)]

Texture supportate:

* Colore
* Bitmaps (Normale e HDRI )
* Procedurali [Perlin Noise, Marmo, Legno, Onde, Scacchi, Wireframe, Normal Ramp, Fresnel Ramp]
* Ogni combinazione pesata dei materiali sopra citati

Caratteristiche supportate:

* Bump Mapping
* Normal Mapping
* Clip Mapping
* Bevel Mapping (innovativa in KT!)
* Edge Outlining
* Profondità di campo
* Nebbia
* Isotropic Volume Scattering
* Faked Caustics
* Faked Translucency
* Dispersionw
* Anti-aliasing [Texture Filtering, Edge Antialiasing]
* Selection Rendering
* Surface and Material Instancing

Tipi di camera supportati:

* Proiezione planare [Pinhole, lente sottile]
* Pinhole cilindrico
* Pinhole sferico

Tecniche di rendering supportate:

* Classica Ray Tracing
* Path Tracing (Kajiya)
* Bidirectional Path Tracing (Veach & Guibas)
* Metropolis light transport (Kelemen, Kalos ecc.)
* Photon mapping (Jensen) [mesh maps, photon maps, final gathering, irradiance caching, caustics]
* Diffuse Interreflection (Ward)
* Depth Rendering
* Mask Rendering
* Clay Rendering

Ambiente applicativo:

* OpenGL Real-Time Viewer (capacità fondamentali di staging)
* Editor di materiali integrato
* Semplice configurazione dei parametri di rendering
* Configurazione sole/cielo
* Sistema di scripting
* Modalità a riga di comando
