» 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

~11min ago

joreg: @graphicuserinterface: most likely

~15h ago

graphicuserinterface: kinect azure in vl viable?

~20h ago

metrowave: what happened to the list of whose logged-in/on-line (above), now only showing me and guests...

~3d ago

joreg: Don't forget: This months #vvvv meetup in #berlin is happening on the 27th: 12-berlin-vvvv-meetup

~3d ago

joreg: @u7 @CeeYaa, we're investigating this...

~3d ago

tonfilm: Under the hood: We switched from #SharpDX to #Xenko math. vl-switch-to-xenko-math VL vvvv #visualprogramming #dotnet #creativecoding

~3d ago

CeeYaa: haha it was frozen for 10 seconds when I send this Shout before - using Firefox

~3d ago

CeeYaa: hui really slow speed on MainPage, Contributions ... speed in Forum quite OK

~3d ago

u7angel: mmm, the site is really slow now.

~3d ago

joreg: PSA: and we're back!