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
 
Progetto settembre 2010 - problema teiera
Clicca QUI per vedere il messaggio nel forum
Bisturilucente
nell'attuale progetto di informatica grafica se si applica una texture (definita proceduralmente) non ripetuta sulla sfera o sul pavimento, il risultato è una superficie con una sola texture. se applico lo stesso shader alla teiera, il risultato è la texture ripetuta decine e decine di volte.
Se applico lo stesso shader al file rib dell'anno scorso (per intenderci il progetto che richiedeva tra le altre cose uno yoyo di cemento), sempre sulla teiera, il risultato è una sola texture.

Accade anche a voi?
L'oggetto teapot2 del progetto di quest'anno è volutamente costruito in maniera diversa? (cioè il prof non vuole che creiamo una texture zebrata?)
Oppure è un errore? o c'è qualcosa di differente nel rib? (Ho notato che l'oggetto teapot1 crea una specie di bicchiere invece di una teiera, mentre lo stesso file nel progetto dell'anno scorso crea una teiera)

laux3
Abbiamo anche noi lo stesso problema... Abbiamo provato a scrivare a Viale, ma ancora nessuna risposta...

Bisturilucente
:(

Bisturilucente
la scorsa settimana ho fatto diverse prove con texture usando il rib vecchio, e sono giunto alla conclusione che non era quella la strada da percorrere...

focalizzandomi sulla strana richiesta del prof ("L'utente deve poter specificare la direzione delle striscie") sono riuscito a generare una zebratura simile (ma non uguale) alla sua, quindi credo che lui abbia utilizzato un metodo differente dal mio ma per ora mi accontento...

spero che questi due consigli siano di aiuto a qualcuno :)

laux3
Grazie del consiglio :)
Immaginavo che fosse quello il problema, però non riesco a capire come gestire la cosa...

AL
..buone nuove sulla zebratura?

Wizzy09
Ciao, ma per la suddivisione in bande hai utilizzato il coseno dell'angolo dato tra normale e vettore direzione o hai usato un altro metodo?
io utilizzando questo ottengo una bellazebratura ma non corretta sul coperchio... in effetti questo metodo funziona bene sulle sfere, essendo ripetente il prof mi aveva fatto notare un modo alternativo che andava bene per le altre figure che ora non mi viene in mente.

Che l'illuminato si faccia avanti!!!

Wizzy09
Ok coi vettori ho risolto la zebratura sulla facciata uguale a quella del prof.... ma sul coperchio mi viene uno schifo inguardabile e non capisco perchè!!! altri con questo problema??

StormBringer
anche io ho lo stesso problema, qualcuno ha capito come si creano delle striature sulla teiera? ad esempio usando la funzione sin?

AL
Originally posted by StormBringer
anche io ho lo stesso problema, qualcuno ha capito come si creano delle striature sulla teiera? ad esempio usando la funzione sin?


illo tempore feci così:

code:
//SHADER ZEBRA - TEIERA //dir --> orientamento righe surface zebra(vector dir = (-0.7,0.4,0.5); float Ks = 0.4, roughness = 0.9) { //Definizione delle variabili color finalColor, black, white; normal Nf, In, Dn; black = Cs * 0; white = Cs * 0.7; float stripes = 8; Nf = faceforward(normalize(N),I); In = -normalize(I); Dn = -normalize(dir); //Bump del punto point P1 = P + noise(1.093*P); normal Nb = calculatenormal(P1); Nb = faceforward( normalize(Nb), I); //Suddivisione righe float cosAngle = abs(P1 . Dn); float n = floor( mod(cosAngle * stripes, 2)); //Definizione colore per riga if( n == 0) { finalColor = white; }else { finalColor = black; } Ci = finalColor + Ks * specular(Nf, In, roughness); }

StormBringer
grazie al mi hai dato un grosso aiuto, ti ho mandato un PM

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