\\ Home : Articoli : Stampa
Glow per le illuminazioni
Di RobyDx (del 21/01/2007 @ 12:30:53, in Shader Library, linkato 1855 volte)

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.

Esempio Shader Glow

 

  • 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