Glow per le illuminazioni
Questa tecnica è semplice ma efficacissimo sistema per migliorare le luci presenti nella scena. Ua luce infatti oltre ad illuminare la scena genera intorno a se un alone luminoso che ne risalta il colore. La procedura è relativamente semplice. Su una texture renderizziamo la scena normale mentre su una seconda solo le parti luminose (potete suddividere le zone della mesh o come ho fatto io modificare le texture in modo da assegnare valori alpha differenti ai pixel per poter renderizzare solo quelli con alpha=1). Per questa prima fase ho usato un multiple render target per accellerare il sistema. La texture con le parti luminose subisce un blur ossia i colori vengono sfocati prima orizzontalmente e poi verticalmente. Per far questo semplicemente leggete i pixel laterali a quello da renderizzare e con questa ripetete il procedimento ma in verticale. Per rendere bene i pixel più vicini devono dare un maggiore contributo. Il risultato del blur viene sommato alla scena sulla prima texture. Opzionalmente potete dare un colore differente alla parte luminosa.
VB.Net 2003 o framework 1.1
linguaggio usato: HLSL
requisiti hardware: VS_2_0, PS_2_0, multiple render target
funziona anche in reference
glow.zip 52Kb
|