Chi ha conosciuto vvvv dall'inizio, ricorderà quando non c'era nessuna categoria EX9. La DX9 (o DX8 così si chiamava all'esordio) invece è sempre stata lì. La nuova categoria EX9 è stata introdotta solo con il supporto degli effetti in vvvv.
I primitivi geometrici nella categoria DX9 sono semplici da usare, ma non molto flessibili. Combinano in un solo nodo geometria e l'effetto di disegno, shader, e sono riprodotti solo con un effetto d'ombreggiatura costante (constant shading). Non è possibile usare luci, né applicare il multitexturing; usare il nodo ArbitraryPoint (Transform) per distorcere i nodi DX9 può generare problemi con il vertexbuffer dei nodi che lo seguono nel grafico. Se per qualcuno significasse qualcosa, i nodi DX9 usano internamente la pipeline a funzione fissa direct3d, (direct3d fixed function pipeline).
La categoria EX9 introduce la direct3d programmable pipeline (pipeline programmabile direct3d) dentro vvvv. La generazione delle geometrie, che ora l'utente può programmare attraverso i nodi della categoria EX9.Effect, qui è separata dall'operazione effettiva di disegno.
Gli Effetti sono contenitori per vertex- e pixelshader, che a loro volta rappresentano i due passi attraverso i quali il disegno viene generato: quando viene disegnato, ciascun vertice di una geometria viene prima passato attraverso il vertexshader, uno script che può operare con i componenti dei vertici. Di seguito, nella pipeline di disegno ogni pixel visibile della geometria passa attraverso uno script pixelshader, che decide, considerati luce, textures ed altri parametri, il colore del pixel.
VVVV contiene un piccolo assortimento di effetti di default:
Questi effetti sono adatti per sperimentare rapidamente nuove soluzioni, dato che rendono semplice l'uso di più luci e textures, per generare shading particolari ed altro.
Prima di tuffarsi nel codice di uno shader, è meglio assicurarsi di aver ben compreso i concetti base sulle Meshes e i VertexBuffer avendo letto la sezione it.EX9.Geometria.
Prima di proseguire è raccomandato approfondire anche it.EX9.Spaces. Per quanto possa sembrare astratto per ora, avere un'idea dell'argomento e sapere a cosa fare riferimento farà comodo quando ci sarà da confrontarsi con differenti spazi mentre si lavora sullo shading.
Per avere un'idea di cosa succeda dietro le quinte quando vvvv disegna delle geometrie:
it.EX9 Dataflow
Sarà necessario avere una comprensione elementare della struttura dei files degli effetti:
it.EX9.Effect.File
Questo nodo interpreta per vvvv il file degli effetti:
it.EX9.Effect.Node
Seguire ogni passo del tutorial sul Template Effect, vi permetterà un giorno, ;), di generare i vostri effetti personalizzati:
it.EX9.Effect.Template
Prima di cominciare davvero a scrivere del codice, potrebbe essere interessante leggere un breve introduzione a HLSL:
it.EX9.HLSL.Introduzione
Una sorta di bibliografia che tornerà utile al momento di scrivere il codice dello shader:
it.EX9.HLSL.Semantica la semantica supportata da vvvv
it.EX9.HLSL.Annotations le annotazioni supportate da vvvv
Direct3D Effect States render- e samplerstates
HLSL Funzioni Intrinseche funzioni built in
HLSL Tipi di Dati
Shader Models vs. Shader Profiles
vs_2_0 registers
ps_2_0 registers
vs_3_0 registers
ps_3_0 registers
anonymous user login
~2d ago
~2d ago
~9d ago
~11d ago
~13d ago
~16d ago
~16d ago
~23d ago
~30d ago
~30d ago