.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Grafica e immagini digitali (http://www.dsy.it/forum/forumdisplay.php?forumid=77)
-- Shader Bollo (http://www.dsy.it/forum/showthread.php?threadid=37580)


Posted by Xabaras on 01-02-2009 15:20:

Shader Bollo

Salve, qualcuno ha trovato un modo per fare il pavimento in procedurale??

Come faccio a disegnare i cerchi....ci sto diventanto matto...

__________________
Tenta e Ritenta prima o poi mi laurerò!


Posted by japanskull on 01-02-2009 22:28:

quoto ... come si fa ??:?:?

__________________
My blog


Posted by Ste.dv on 02-02-2009 12:09:

Non so quanto possa essere opportuno dare risposte troppo esplicite in questa sede.
Comunque sia, non è difficile, se si ricorda come suddividere la texture in n spazi equivalenti a partire dalle variabili s e t (come abbiamo fatto per realizzare la scacchiera, a lezione).
Fatto questo basta saper calcolare la distanza tra due punti sul piano per distinguere i dischetti dal resto. Pitagora ha trovato una buona soluzione per questo. ;)


Posted by Xabaras on 02-02-2009 13:06:

Ok, il punto e' questo...

Per una scacchiera io prendo diciamo tre selettori in base a s e t....

Assumiamo Molt, un moltiplicatore scelto per aumenatre le ripezioni di celle

Sel1 = step(0.5, mod((t*molt),1)); (questo puo' essere 0 o 1)
Sel2 = step(0.5, mod((s*molt),1)); (questo puo' essere 0 o 1)


Sel3 = mod(selector1 + selector2, 2); (questo puo' essere 0 o 1)

quindi in poche parole...al crescere di s e t idenfico la cella....
su sel3 che a questo punto identifica il variare della cella applico il colore o il modello di shading ch voglio per ogni cella...

Come faccio ad applicare la stessa tecnica ad un cerchio?? davvero non capisco....

L'unico modo che ho di farlo e' con un bump, ma lui lo vuole procedurale.... Idee??

__________________
Tenta e Ritenta prima o poi mi laurerò!


Posted by jonny86 on 02-02-2009 17:07:

Non ti complicare la vita.... se hai identificato una serie di quadranti con dimensione 1x1, ma ripetuti su tutta la superficie (e questo sono le prime due righe di codice che hai postato)... poi semplicemente lavori su quel singolo quadrante.

Ogni calcolo eseguito lì si ripercuoterà su tutti i quadranti.

Se sai che il cerchio è contenuto in un quadrato e sai la base del quadrato... beh come minimo devi calcolarti un centro e un raggio di un cerchio e poi ovviamente punto per punto (ovviamente lavorando in 2d e non in 3d, visto che è come se disegnassi una texture) decidi se sta dentro o fuori al cerchio.


Posted by Ste.dv on 02-02-2009 17:11:

Ok, la tecnica è più o meno la stessa.

Prova a supporre che quel modulo 1 rispetto a s e t corrisponda, invece, al modulo della distanza dei centri di ciascun cerchio, nel qual caso il "moltiplicatore" Molt ne indicherebbe la quantità.
Resto 0 uguale centro del cerchio; resto maggiore di 0 uguale un punto qualsiasi attorno al centro.
Non ti resta che calcolare la distanza dal rispettivo centro del punto individuato da s e t...


Posted by Biggy on 11-02-2009 15:44:

Scusate una cosa, vorrei chiedervi un parere, dunque il pdf dice:

3. I rilievi cilindrici hanno una superficie opaca
4. Il resto del pavimento è ruvido
Caratteristiche avanzate
1. Riflessione speculare sulla parte lucida del
pavimento simulata tramite ray-tracing.
2. Rugosità superficiale dei cilindretti
antisdrucciolo simulata con bump-mapping

Quindi i cilindretti sono opachi e ruvidi, mentre il resto del pavimento sarebbe lucido e ruvido?
È da un pò che mi chiedo sta cosa......Non ho capito se va fatto anche il resto del pavimento col bump-mapping più Ray-Tracing o che altro....


Posted by Ste.dv on 11-02-2009 16:35:

Io l'ho liquidato come un errore di Viale: la "base" del pavimento deve essere lucida e quindi riflettente.
Del resto mi sembrava l'avesse spiegato in questi termini a dicembre.


Posted by Biggy on 11-02-2009 17:52:

Già , credo che sia la cosa più sensata. Grazie per la risposta. ;)


Posted by Hiei on 11-02-2009 23:59:

Approfitto del thread aperto per porvi qualche domanda: penso di aver capito come fare il bollo sul pavimento, ma mi trovo in difficoltà nel selezionare il centro.
Considerando che pixie lavora punto per punto, come dovrei fare a "conservare" le sue coordinate? Perchè quello che ho in mente è usare pitagora per calcolare la distanza tra il punto (quello che il programma sta leggendo) ed il centro, e poi confrontarla con quella del raggio. La mia difficoltà sta proprio nelle coordinate del centro..se qualcuno ha una dritta grazie in anticipo.


Posted by Jep on 13-02-2009 14:22:

Originally posted by Hiei
Approfitto del thread aperto per porvi qualche domanda: penso di aver capito come fare il bollo sul pavimento, ma mi trovo in difficoltà nel selezionare il centro.
Considerando che pixie lavora punto per punto, come dovrei fare a "conservare" le sue coordinate? Perchè quello che ho in mente è usare pitagora per calcolare la distanza tra il punto (quello che il programma sta leggendo) ed il centro, e poi confrontarla con quella del raggio. La mia difficoltà sta proprio nelle coordinate del centro..se qualcuno ha una dritta grazie in anticipo.


bè, se il pavimento si sviluppa come una specie di scacchiera vuol dire che il centro di ogni cerchio corrisponde al centro di ogni casella della scacchiera...

Originally posted by Ste.dv
Io l'ho liquidato come un errore di Viale: la "base" del pavimento deve essere lucida e quindi riflettente.
Del resto mi sembrava l'avesse spiegato in questi termini a dicembre.


anch'io pensavo ad un errore di Viale, ma mi è stato fatto notare che forse (anche se personalmente dubito) potrebbe essere che nella versione base il fondo del pavimento dev'essere ruvido, mentre in quella avanzata va fatto liscio.

__________________
"bisogna solo scegliere cosa fare con il tempo che ci viene concesso"

"Il problema non sta nella caduta, ma nell'atterraggio..."


Posted by Ste.dv on 13-02-2009 14:48:

Vorrà dire che ho fatto l'avanzata. :D


All times are GMT. The time now is 11:52.
Show all 12 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.