» it.EX9 Rendering
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

it.EX9 Rendering

English | Mandarin | French

The original english version of this page is newer and may contain information this translation does not have! Click here to view the english version.

DX9 - Cosa è successo fino ad ora

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).

EX9 - Sugli Effetti, Vertex- e Pixelshader

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:

  • Costant: disegna la geometria con un colore e/o una texture. Restituisce gli stessi risultati di un primitivo geometrico DX9.
  • Flat, Gouraud, Phong: attraverso l'Illuminazione da un Punto, Point Lighting, o quella Direzionale, Directional Lighting (leggi altro suhttp://it.wikipedia.org/wiki/Ombreggiatura), questi effetti sviluppano i classici algoritmi di shading per restituire un migliore effetto di profondità, seppure ancora semplice.

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.

Strettamente correlato alla Geometria

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.

Strettamente correlato alle operazioni di Disegno

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

Ulteriori riferimenti

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

EX9.FurtherReading

anonymous user login

Shoutbox

~3h ago

domj: Stuck in your patching or eager to share what you made or came across? Join Midweek Patch Therapy at 17:30 https://therapy.domj.net/

~18h ago

david: vvvv meetup 3. new stream link. again youtube made us nuts.. please send everybody to https://youtu.be/pa3HRQ7kj6w

~22h ago

joreg: Reminder: Join us this evening, 8pm CET for the 3rd worldwide #vvvv meetup: 3.-worldwide-vvvv-meetup

~1d ago

sinus: @evvvvil: very impressive stuff! keep on marching the rays!You´ll never walk alone!

~2d ago

evvvvil: @mediadog, thankx for pointing it out broski. Wicked.

~3d ago

domj: Catching up with the Midweek Patch Therapy excerpts, expect more videos over the week. https://youtu.be/36r8LnHaS7g

~4d ago

mediadog: @evvvvil hey you made the webgl-dev-list cool stuff list: http://gfxprose.blogspot.com/2020/05/cool-webgl-stuff-2020-05-21.html

~5d ago

evvvvil: Yo I'm live doing a VJ set made in vvvv for OUTLINE demoparty with OddJohn DJing! Come see us play here: https://www.twitch.tv/outlinedemoparty/

~6d ago

domj: A blast to read with great references. Thoughts on how to make programming more learnable and understandable. http://worrydream.com/LearnableProgramming/

~6d ago

gegenlicht: @evvvvil damn. - missed it. Such unique styles, others would create 1000 twitter loops from one of ur sessions. :3 #bobrossmarch