Cosa è uno shader?

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

Rispondi
  • Advertising
Avatar utente
Nemus
Messaggi: 420
Iscritto il: sab gen 15, 2011 7:28 pm

Cosa è uno shader?

Messaggio da Nemus »

E' un dubbio che mi pongo da anni. Ho letto decine di definizioni ma nessuna è riuscita a darmi un quadro chiaro. Qualcuno di voi può spiegarmelo?
Grazie
workstation:
i7 2600k - 16GB RAM DDR3 - Asus P8Z68 v-pro - SSD Crucial M4 128GB - HDD 1TB - nVidia Quadro 600 - Al. corsair 600W - Raffreddamento liquido H80 - Windows 7 Pro x64
Avatar utente
masterzone
Site Admin
Messaggi: 10556
Iscritto il: ven set 17, 2004 5:34 pm
Località: Verona

Re: Cosa è uno shader?

Messaggio da masterzone »

Uno shader potrebbe essere tradotto come piccolo programmino che applicato sull'oggetto va cose specifiche a livello matematico. Diciamo che anche una texture potrebbe essere definita tale ma essendo una cosa grafica in verità non rientra in tale categoria.
Quindi lo shader è una texture che non ha collegamento con un formato grafico ma con un qualcosa fatto di programmazione e matematica assieme.
Infatti in cinema gli shader sono dei piccolo programmi che applicati all'oggetto fanno robe strambe :)
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Cosa è uno shader?

Messaggio da visualtricks »

ciao, facendo un paragone puoi pensare agli shader come alla grafica vettoriale, che a differenza della grafica raster non è definita da un insieme di pixel ma da formule matematiche. Proprio come la grafica vettoriale, uno shader non ha problemi di risoluzione o definizione in quanto il suo "disegno" non è composto da un numero finito di pixel ma viene generato via via; solitamete non presenta ripetizioni, sempre per lo stesso motivo. Scendendo un po' più nel dettaglio poi, ci sono shader che eseguono operazioni particolari, come ad esempio variare il proprio colore in base alla vicinanza ad alcuni oggetti (proximal shader) o in base all'angolo di incidenza rispetto alla camera (fresnel shader), ecc ecc.
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
Avatar utente
Nemus
Messaggi: 420
Iscritto il: sab gen 15, 2011 7:28 pm

Re: Cosa è uno shader?

Messaggio da Nemus »

visualtricks ha scritto:ciao, facendo un paragone puoi pensare agli shader come alla grafica vettoriale, che a differenza della grafica raster non è definita da un insieme di pixel ma da formule matematiche. Proprio come la grafica vettoriale, uno shader non ha problemi di risoluzione o definizione in quanto il suo "disegno" non è composto da un numero finito di pixel ma viene generato via via; solitamete non presenta ripetizioni, sempre per lo stesso motivo. Scendendo un po' più nel dettaglio poi, ci sono shader che eseguono operazioni particolari, come ad esempio variare il proprio colore in base alla vicinanza ad alcuni oggetti (proximal shader) o in base all'angolo di incidenza rispetto alla camera (fresnel shader), ecc ecc.
Quindi lo shader è una sorta di entità matematica/dinamica che varia via via il suo aspetto (output) in base a determinati parametri (input) per generare determinati effetti.
workstation:
i7 2600k - 16GB RAM DDR3 - Asus P8Z68 v-pro - SSD Crucial M4 128GB - HDD 1TB - nVidia Quadro 600 - Al. corsair 600W - Raffreddamento liquido H80 - Windows 7 Pro x64
MircoPaolini
Messaggi: 225
Iscritto il: mer ott 13, 2010 11:02 am

Re: Cosa è uno shader?

Messaggio da MircoPaolini »

E' una descrizione matematica del comportamento della luce su una superficie: Il materiale.
Liquid Simulations Showreel 2013: https://vimeo.com/73757531
Avatar utente
Nemus
Messaggi: 420
Iscritto il: sab gen 15, 2011 7:28 pm

Re: Cosa è uno shader?

Messaggio da Nemus »

MircoPaolini ha scritto:E' una descrizione matematica del comportamento della luce su una superficie: Il materiale.
Quindi shader e materiale coincidono?
workstation:
i7 2600k - 16GB RAM DDR3 - Asus P8Z68 v-pro - SSD Crucial M4 128GB - HDD 1TB - nVidia Quadro 600 - Al. corsair 600W - Raffreddamento liquido H80 - Windows 7 Pro x64
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Cosa è uno shader?

Messaggio da visualtricks »

spetta.. io ho dato per scontato che tu intendessi quello che in cinema viene comunemente identificato come shader, cioè tutti quelli raggiungibili dalla linguetta a fianco dei campi texture nei materiali, quindi la mia descrizione è riferita a quei particolari oggetti. Più in generale, come dice giustamente Mirco, uno shader descrive il comportamento di una superficie quando è colpita dalla luce e quindi rappresenta il materiale in sè.
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
MircoPaolini
Messaggi: 225
Iscritto il: mer ott 13, 2010 11:02 am

Re: Cosa è uno shader?

Messaggio da MircoPaolini »

Nemus ha scritto:
MircoPaolini ha scritto:E' una descrizione matematica del comportamento della luce su una superficie: Il materiale.
Quindi shader e materiale coincidono?
Decisamente si. In Cinema il materiale (somma di tutti i canali che lo compongono) è identificato come shader. Da non confondere,come avviene spesso in altri software, con i MODELLI DI ILLUMINAZIONE (Lambert,Blinn,Phong,Cook and Torrance,etc...)
che vengono chiamati Shader.In realta' sono dei SOTTOINSIEMI di uno shader.
Liquid Simulations Showreel 2013: https://vimeo.com/73757531
Avatar utente
Nemus
Messaggi: 420
Iscritto il: sab gen 15, 2011 7:28 pm

Re: Cosa è uno shader?

Messaggio da Nemus »

MircoPaolini ha scritto:
Nemus ha scritto:
MircoPaolini ha scritto:E' una descrizione matematica del comportamento della luce su una superficie: Il materiale.
Quindi shader e materiale coincidono?
Decisamente si. In Cinema il materiale (somma di tutti i canali che lo compongono) è identificato come shader. Da non confondere,come avviene spesso in altri software, con i MODELLI DI ILLUMINAZIONE (Lambert,Blinn,Phong,Cook and Torrance,etc...)
che vengono chiamati Shader.In realta' sono dei SOTTOINSIEMI di uno shader.
Grazie mille per la spiegazione. :)
workstation:
i7 2600k - 16GB RAM DDR3 - Asus P8Z68 v-pro - SSD Crucial M4 128GB - HDD 1TB - nVidia Quadro 600 - Al. corsair 600W - Raffreddamento liquido H80 - Windows 7 Pro x64
  • Advertising
Rispondi