Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi G - M > Grafica e immagini digitali
 
shader random
Clicca QUI per vedere il messaggio nel forum
rekotc
mmm....ragazzi ma come si fa a far si che le celle della scacchiera vengano scelte in modo casuale?? Io ho diviso in celle...ma sono tutte alternate con regolarita...come faccio a fare in modo che siano random??...mi serve qualche suggerimento generico :D...thanks!

Ste.dv
Come si è detto nel thread sulla lezione di ripasso, non è possibile mantenere una memoria condivisa affinché lo shader sia applicato di volta in volta secondo parametri prestabiliti.
La chiave è la funzione noise, utilizzata nel modo giusto, poiché a parità di parametri restituisce lo stesso risultato.

Hiei
Originally posted by Ste.dv
Come si è detto nel thread sulla lezione di ripasso, non è possibile mantenere una memoria condivisa affinché lo shader sia applicato di volta in volta secondo parametri prestabiliti.
La chiave è la funzione noise, utilizzata nel modo giusto, poiché a parità di parametri restituisce lo stesso risultato.


e perche non usare la funzione random() ?

e nel caso non vada bene, come si usa il noise? mi faresti un esempio? non ho proprio capito...grazie

jonny86
random = funzione a caso SENZA PARAMETRI e senza possibilità di "guidare" il risultato

noise = funzione "pseudocasuale" CON PARAMETRI e con possibilità di guidare il risultato

La noise funziona in 2d o in 3d. Se gli passi un parametro punto lavora in 3d, se gli passi 2 parametri float lavora in 2d.

E' pseudo casuale perchè per valori vicini nello spazio (o nel piano) la noise produce scostamenti lievi.

Detto ciò per sto shader la cosa importante è sapere che se x,y sono due numeri noise(x,y) a parità di x e y da sempre lo stesso risultato.

Quindi se per ogni "quadrante" della tua scacchiera usi la stessa combinazione di x,y otterrai sempre lo stesso valore (compreso tra 0 e 1)... quindi se poi lo usi per selezionare il colore....

Comunque sto link https://renderman.pixar.com/product...f/RISpec3_2.pdf punta alle specifiche di renderman.

Hiei
Tutto chiaro, grazie. Diciamo che erano cose che avevo intuito ma così mi hai tolto i dubbi.

Originally posted by jonny86
Quindi se per ogni "quadrante" della tua scacchiera usi la stessa combinazione di x,y otterrai sempre lo stesso valore (compreso tra 0 e 1)... quindi se poi lo usi per selezionare il colore....


questo mi lascia un po cosi...quando dici " se poi lo usi per selezionare il colore", intendi il valore (0 o 1) vero ? Perchè io ho fatto un if che decide come assegnare il colore proprio leggendo un valore che può essere 0 o 1. Ed è sempre casuale (le ho anche stampate a video per controllare), solo che niente... bah!

IsaMetallo
solo una cosa: dunque la scelta tra plastica e specchio non deve essere diversa ad ogni esecuzione ma semplicmente pseudo casuale ma costante?

Jep
esatto

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate