|
|
|
|
| |
|
jonny86 |
Problemi con il Ray tracing |
13-12-2008 18:06 |
|
|
jonny86 |
.illuminato.
Registered: Jun 2007
Posts: 197 (0.03 al dì)
Location: Prov. Como
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 2 Days, 10:54:10 [...]
Status: Offline
Edit | Report | IP: Logged |
Problemi con il Ray tracing
Ciao a tutti,
In questi giorni stavo dando una smanettata ai codici dei vari shader. Fino alla lezione prima del ray tracing nessun problema, mi uscivano tutti. Invece con il ray tracing ho qualche problema, a parte che Viale non pubblica gli shader e non ho copiato il codice a lezione, ho provato di tutto ma niente.
Il mio codice sostanzialmente è fatto così:
vector In = -normalize(I);
color finalColor;
if (Krif > 0) { //Krif è il coefficiente di riflettività
normal dirSpec = normalize(reflect(In, Nf)); //Nf è la normale normalizzata
color refractColor = trace(P,dirSpec);
finalColor = mix(Cs,refractColor,Krif);
} else
finalColor = Cs;
Poi alla fine passo indietro il colore con la formula di phong.
Solo che non mi riesce niente... cioè o ritorna il nero o ritorna un bluastro, ma non ritorna quello che dovrebbe riflettere della scena. Ho provato sia col rib di esempio che si usa solitamente a lezione sia con il rib dello scorso esame... ma niente .
Qualcuno con lo stesso problema che ha risolto può passare rib e shader?
grazie.
|
13-12-2008 18:06 |
|
|
| |
|
ButterFlower |
supernick c'è bisogno di te!:D ... |
13-12-2008 18:08 |
|
|
ButterFlower |
.arcimaestro.
Registered: Oct 2007
Posts: 443 (0.07 al dì)
Location:
Corso: Comunicazione Digitale
Anno: 3°
Time Online: 9 Days, 22:21:53 [...]
Status: Offline
Edit | Report | IP: Logged |
supernick c'è bisogno di te!
|
13-12-2008 18:08 |
|
|
| |
|
*°§_-??? |
Scusami, ma volevo cercare di capire... :? perchè ... |
15-12-2008 08:38 |
|
|
*°§_-??? |
-.-''
Registered: Oct 2005
Posts: 383 (0.05 al dì)
Location: Milan (again)
Corso: Comunicazione Digitale
Anno: (3+x) | x>0
Time Online: 10 Days, 4:34:18 [...]
Status: Offline
Edit | Report | IP: Logged |
Scusami, ma volevo cercare di capire... perchè usi il mix?
e il Krif che valore ha?
(ora non ho il codice sottomano ma non mi pare sia necessaria la funzione mix per ottenere il ray tracing, almeno se l'intenzione è quella di avere un effetto perfettamente a specchio)
__________________
|
15-12-2008 08:38 |
|
|
| |
|
jonny86 |
Krif come ho commentato dal codice è il coefficie ... |
15-12-2008 16:05 |
|
|
jonny86 |
.illuminato.
Registered: Jun 2007
Posts: 197 (0.03 al dì)
Location: Prov. Como
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 2 Days, 10:54:10 [...]
Status: Offline
Edit | Report | IP: Logged |
Krif come ho commentato dal codice è il coefficiente di riflesso (quanto specchia l'oggetto) e uso il mix per mischiare il colore normale dell'oggetto preso dal rib al colore riflesso dallo specchio (se il coefficiente è a 1 diventa una superficie perfettamente specchiante, se a 0 non usa il ray tracing, se una via di mezzo mischia i due colori).
Comunque il problema non sta lì perchè avevo provato anche a togliere tutto e far ritornare solo il trace, ma niente...
|
15-12-2008 16:05 |
|
|
| |
|
Ste.dv |
Innanzitutto assicurati di aver inserito nel file ... |
16-12-2008 08:57 |
|
|
Ste.dv |
.precettore.
Registered: Apr 2008
Posts: 86 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 23:04:59 [...]
Status: Offline
Edit | Report | IP: Logged |
Innanzitutto assicurati di aver inserito nel file RIB l'attributo che abilita il ray tracing.
Attribute "visibility" "int specular" 1
Senza questo attributo le superfici su cui calcoli la riflessione appaiono prossime al nero.
A parte questo, il tuo codice mi sembra grossomodo corretto.
L'unico errore credo stia nell'inversione del vettore In normalizzato: va invertito per il calcolo del modello di Phong, non per determinare la riflessione.
Prova a togliere quel meno.
Io ho realizzato lo shader in questo modo:
simpleTacing
surface simpleTracing (float Kr = 0.8)
{
normal Nf = faceforward(normalize(N), I);
vector In = normalize(I);
vector reflectionDir = normalize(reflect(In, Nf));
Ci = Cs * Kr * trace(P, reflectionDir);
}
|
16-12-2008 08:57 |
|
|
| |
|
jonny86 |
Il punto è proprio questo... non so interagire pi ... |
16-12-2008 19:26 |
|
|
jonny86 |
.illuminato.
Registered: Jun 2007
Posts: 197 (0.03 al dì)
Location: Prov. Como
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 2 Days, 10:54:10 [...]
Status: Offline
Edit | Report | IP: Logged |
Il punto è proprio questo... non so interagire più di quel tanto con un file RIB... ho provato ad usare il rib del progetto dell'anno scorso e ho visto che lì ci sono indicati gli attributi di visibility ma non funziona.
O l'attributo non è da mettere lì (ma non credo che all'esame diano un rib sbagliato) oppure mi sa che è un problema di pixie a sto punto. Io uso la versione 2.2.2 perchè la 2.2.4 non andava (e non trovavo la 2.2.3, poi ha messo il link ma ormai andava e ho tenuto quella).
Non so cosa pensare... semmai provo a installare la 2.2.3 e vedo cosa esce, ma ho i miei dubbi...
|
16-12-2008 19:26 |
|
|
| |
|
jonny86 |
Ok... disistallato e reinstallata al volo la nuova ... |
16-12-2008 20:03 |
|
|
jonny86 |
.illuminato.
Registered: Jun 2007
Posts: 197 (0.03 al dì)
Location: Prov. Como
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 2 Days, 10:54:10 [...]
Status: Offline
Edit | Report | IP: Logged |
Ok... disistallato e reinstallata al volo la nuova versione e ora va.. e pensare che ci ho perso giorni e poi era colpa della versione!!!
|
16-12-2008 20:03 |
|
|
| |
|
All times are GMT. The time now is 14:16. |
|
|
|
|
|
|
|
| |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|