giovedì 12 luglio 2007

A proposito di cassata 1.0

Ho deciso di scrivere un post un po' diverso dai classici post che scrivo in genere, per descrivere cosa stò facendo ora e cosa penso di fare per il futuro.

Qualcuno dei lettori (e ce ne sono, a me sembra che siano quasi tutti su blender.it XD ) probabilmente sa qual'è l'importanza di un'interfaccia, ma ne parlerò qui per spiegarlo anche a chi non lo sapesse.
Innanzitutto va detto che per interfaccia non intendo gui. Intendo quello strato che interpreta le scene e comunica con gli shader.

Una buona interfaccia è indispensabile, perché deve rimanere a lungo. Immaginate che cosa succederebbe se di punto in bianco cambio il modo in cui si salva una scena. Chiunque stia facendo dei lavori ci penserà 100 volte prima di decidere di aggiornare. Questo è un grave problema per il progresso tecnologico del renderer.

Perciò ciò che mi serve è un'interfaccia che sia stabile (dovrà cambiare profondamente solo in casi rarissimi), flessibile (dovrò poter sviluppare tante cose nel frattempo) e che non leda le prestazioni.
Fare un'interfaccia così necessita anche di sapere per lo meno per sommi capi verso che direzione potrà espandersi internamente il renderer, e quindi diventa tutto un equilibrio di difficile soluzione.

Ho intenzione di fare uscire diverse versioni di cassata (la prima sarà la 0.1) ritenute relativamente stabili, e man mano sempre più complete, con l'unico limite di avere un'interfaccia ancora da stabilizzarsi.
La versione 1.0 invece, infine, avrà un'interfaccia stabile, ma uscirà fra parecchio tempo (anni?).
Questo ovviamente non vuol dire che cassata sarà inusabile, solo che mi prenderò diverso tempo per la stabilizzazione dell'interfaccia. Nel frattempo già cassata sarà utilizzabilissimo, e chissà, magari avrà una discreta cerchia di utenti.

Prima di far uscire comunque cassata 0.1 voglio almeno avere una vaga idea di come sarà l'interfaccia. Per farlo devo sperimentare e provare tante cose, perché come detto l'architettura interna influenzia anche la progettazione dell'interfaccia. Questo è quello che stò facendo attualmente.

Per quanto riguarda l'uscita di cassata 0.1, come data indicativa, e soggetta comunque anche a cambiamenti notevoli (non prendetela seriamente, è solo un'indicazione) vorrei farla uscire intorno a fine 2007 - inizio 2008. Raggiunta cassata 0.1 vorrei che già fosse possibile renderizzare scene comuni, con la disponibilità di almeno shader per costruire materiali abbastanza diffusi in natura (anche magari approssimati ma con approssimazioni decenti) e non troppo lento. Per intenderci vorrei riuscire, per lo meno, ad ottenere immagini qualitativamente (ma probabilmente non prestazionalmente) al livello di indigo 0.5.

2 commenti:

pKrime ha detto...

Yota mi piacerebbe tantissimo poterti aiutare, peccato che conosco questi concetti solo per sentito dire, quindi non posso far altro che fare il tifo! Si, il discorso interfaccia è importante, considerato che quella di blender è stato un peso non indifferente per il suo sviluppo (finalmente la riscrivono, alè).

Non vedo l'ora di poter fare il BetaTester di Cassata!

Fulvio Satta ha detto...

Beh, ma io in ogni caso ti ringrazio :)
Ovviamente qualche consiglio e qualche critica sono sempre più belli da ricevere, ma è grazie al tifo che qualcuno (come te) mi fa che non ho mollato i primi tempi :)
Quindi continuate a darmi forza così ;)