TheCrib
Indie Pellerossa
Messaggi: 5,175
Registrato: Sep 2010
Offline
|
|
| 09-09-2011 12:16 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,175
Registrato: Sep 2010
Offline
|
#48
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
(09-09-2011 12:15)MarkSkyzoid ha scritto: Hai dato un'occhiata alle slide di Davide? 
Una volta tanto che non lo pluggo io ! (^o^)
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 09-09-2011 12:19 |
|
fzambetta
Senior Lecturer
Messaggi: 1,743
Registrato: Dec 2009
Offline
|
#50
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
(09-09-2011 12:16)TheCrib ha scritto: Per REYES straconsiglio (di nuovo) "Production Rendering: Design and Implementation"
Un libro compatto ma potente 8)
Ah, ah...e' in biblioteca 
Le tue slide non le avevo viste ma avevo seguito (penso attraverso il tuo blog?) le vicissitudini dello sviluppo del renderer (infatti la teiera astrattista alla Kandisky me la ricordo bene)
(09-09-2011 12:20)carnefrisca ha scritto: insieme a questo http://www.realtimerendering.com
(quest'ultimo ha poco,quasi niente , sul lato codice, ma la parte di analisi matematica e matematica applicata è davvero ben fatta.
Si questo ce l'ho pure io, d'altro canto abbiamo un corso che si chiama Real-Time Rendering & 3D Games che guarda caso lo usa come testo consigliato (il mio secondo anno qui ho fatto un 2-3 lezioni di quel corso).
Fabio Zambetta
Senior Lecturer, School of CS&IT
RMIT University (Melbourne, AU)
Games & Graphics Programming degree Coordinator
My Kinect hand gestures debugger
(Questo messaggio è stato modificato l'ultima volta il: 09-09-2011 13:22 da fzambetta.)
|
|
| 09-09-2011 13:20 |
|
v71
Banned
Messaggi: 74
Registrato: Aug 2011
Offline
|
#52
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
No, l'importante e' avere soldi, alle donne non frega niente di quello che fai o di come sei, loro andrebbero anche con le scimmie antropomorfe se avessero il portafogli pieno.
|
|
| 09-09-2011 17:31 |
|
Gabriele
Posting Freak
Messaggi: 4,362
Registrato: Oct 2010
Online
|
#53
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
(09-09-2011 17:31)v71 ha scritto: No, l'importante e' avere soldi, alle donne non frega niente di quello che fai o di come sei, loro andrebbero anche con le scimmie antropomorfe se avessero il portafogli pieno.
dipende dalle donne, le oche e le nichiiste vogliono i soldi
le bimbominkia vogliano justin bivermerd, le donne da sposare solitamente nessuno delle due
Gabriele Di Bari
Account G+
Account bitbucket
Account GITHUB
E ricordate: ((VMJava*)(NULL))->~VMJava();
(Questo messaggio è stato modificato l'ultima volta il: 09-09-2011 18:58 da Gabriele.)
|
|
| 09-09-2011 17:35 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,175
Registrato: Sep 2010
Offline
|
#54
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
(09-09-2011 17:31)v71 ha scritto: No, l'importante e' avere soldi, alle donne non frega niente di quello che fai o di come sei, loro andrebbero anche con le scimmie antropomorfe se avessero il portafogli pieno.
1. Make a software renderer
2. ???
3. Profit !
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 09-09-2011 18:32 |
|
MarkSkyzoid
Senior Member
Messaggi: 614
Registrato: Feb 2010
Offline
|
#55
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
Davide, hai dimenticato il 4o passo
www.itsmarco.com
Marco Vallario
|
|
| 09-09-2011 18:53 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,175
Registrato: Sep 2010
Offline
|
|
| 09-09-2011 19:06 |
|
MarkSkyzoid
Senior Member
Messaggi: 614
Registrato: Feb 2010
Offline
|
#57
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
Allora ho fatto il port a SDL e le performance sono aumentate(a parte quando mi avvicino tropo al cubo, calano un po' gli fps)
Ora ho deciso di implementare lo zbuffering, allora ho preso il foley - van damm e mi sono letto la sezione sullo zbuffering...
E ovviamente non funziona... XD
L'algoritmo:
http://pastebin.com/SQzwQEKg
Forse ieri ero ubriaco, o in stato d'ansia pre-partenza, fatto sta che non funziona e non capisco perchè...le forumule mi sembravano ok...comunque un mezzo sospetto ce l'ho e intanto do un'occhiata...se qualcuno può darmi una mano però gli sarei grato
www.itsmarco.com
Marco Vallario
|
|
| 12-09-2011 10:12 |
|
v71
Banned
Messaggi: 74
Registrato: Aug 2011
Offline
|
#58
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
Ti consiglierei prima di copia-incollare di leggere qualcosa sulla teoria che sta dietro lo z-buffering.
Inanzitutto calcola la normale del triangolo , poi scrivi l'equazione del piano su cui giace il triangolo con la sua normale, e' del tipo ax+by+cz+d =0; , dove a,b,c sono le componenti x,y,z della normale e
d= -aX0-bY0-cZ0 , cioe' l'origine del triangolo moltiplicato per le componenti della normale , con il segno cambiato ( lo puoi verificare dall'equazione matriciale del piano ).
Penso che tu abbia utilizzato l'algoritmo delle scanline, quindi nel tuo loop devi scrivere la soluzione della seguente equazione z = -(1/c) * ( ax+by+d ) ;
Quindi ad ogni valore di x , hai una componente z che devi confrontare con quella memorizata nel z-buffer se, e' piu' vicina allora la sovrascrivi.
Ci sono un paio di punti in cui il tutto puo' essere ottimizzato , ma al momento assicurati che funzioni tutto come dovrebbe, ma se hai la fregola di partire, fallo quando hai più calma
|
|
| 12-09-2011 10:30 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,175
Registrato: Sep 2010
Offline
|
#59
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
Vedo un paio di problemi.
Il primo e' che hai una bella divisione integer, li dove la vorresti float.
Per cui:
z = (zb - (zb - za)*((xb - x)/(xb - xa)));
..dovrebbe essere...
z = (zb - (zb - za)*( (float)(xb - x)/(xb - xa)));
O meglio ancora:
Codice:
float dz = (zb - za) / (xb - xa);
for(int x = xa; x < xb; ++x)
{
float z = za + (float)(x - xa) * dz;
Secondo problema e' che stai interpolando la Z_screen linearmente, ignorando la prospettiva.
E' lo stesso problema della texture prospettica, trattata tra le altre cose in Game Dev Mag da Chris Hecker (gia' menzionata, mi pare).
Questo il FVD dovrebbe spiegarlo (ricordo che il Watt&Watt su menzionato lo spiegava), comunque e' il concetto e' quello di interpolare sia z_eye che w_eye ed eseguire la divisione (Z_screen = Z_eye / W_eye) per pixel.
Se non stai usando le coordinate omogenee, puoi comunque interpolare 1/z_vertex e poi, per pixel, invertire di nuovo quella 'z' con una divisione.
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 12-09-2011 11:08 |
|
fzambetta
Senior Lecturer
Messaggi: 1,743
Registrato: Dec 2009
Offline
|
#60
RE: [Software Rendering] Scan Conversion dei triangoli e Clipping
(12-09-2011 11:08)TheCrib ha scritto: E' lo stesso problema della texture prospettica, trattata tra le altre cose in Game Dev Mag da Chris Hecker (gia' menzionata, mi pare).
Questo il FVD dovrebbe spiegarlo (ricordo che il Watt&Watt su menzionato lo spiegava), comunque e' il concetto e' quello di interpolare sia z_eye che w_eye ed eseguire la divisione (Z_screen = Z_eye / W_eye) per pixel.
Se non stai usando le coordinate omogenee, puoi comunque interpolare 1/z_vertex e poi, per pixel, invertire di nuovo quella 'z' con una divisione.
Esattamente.
Tutto nell'articolo di Chris Hecker in breve ma sia Watt & Watt che il Foley hanno una trattazione piu' dettagliata e matematicamente piu' rigorosa che ti consiglio di leggere, specie il Foley-van Dame perche' utile capire per benino il discorso degli spazi omogenei.
In questo senso anche il survey paper di Heckbert e' molto utile.
Fabio Zambetta
Senior Lecturer, School of CS&IT
RMIT University (Melbourne, AU)
Games & Graphics Programming degree Coordinator
My Kinect hand gestures debugger
|
|
| 12-09-2011 15:04 |
|