14Fermer16
bearbecueLe 13/02/2012 à 22:07
ho classe le drag/drop de fichiers pour l'upload sur mirari grin


bon, donc... (t'as dja du voir un screen de cette scene la bob grin)



PASSE 1

normales encodees en coordonnees ecran spheriques (2 composantes R, G) + parametres du modele de lighting (2 composantes B, A):

tromb Fichier joint : cqUA (Sanctum_NormalsBRDF.png)



decomposition:
normales reconverties en XYZ classique, balance dans les canaux RGB:

tromb Fichier joint : HbZ6 (Sanctum_Normals.png)

parametre 'roughness' du materiau... c'est grosso-modo l'inverse de la 'specular power' classique. La dans cette scene ya une valeur uniforme par objet, mais ca peut tout a fait etre une texture (dans le lien wiki que j'ai balance au dessus, avec l'anneau, ca varie en fonction d'une texture)

tromb Fichier joint : DX86 (Sanctum_Roughness.png)




rendu de la depth dans un buffer BGRA8 pour pouvoir la lire dans le shader en DX9, sinon on peut reutiliser la depthmap non-lineaire classique.

tromb Fichier joint : 0a9I (Sanctum_LinearDepthBGRA8.png)

depth lineaire remappee:

tromb Fichier joint : CdR9 (Sanctum_LinearDepth.png)





PASSE 2

Splatting des lights. la on voit bien les quads en screenspace qui englobent la zone d'influence des lights:

tromb Fichier joint : qZ6H (Sanctum_LightSplatting.png)




Light-buffer genere:

tromb Fichier joint : YkpW (Sanctum_Irradiance.png)

Spec dans le canal alpha du light-buffer:

tromb Fichier joint : 7odE (Sanctum_Specular.png)






PASSE 3

Rendu final, avec utilisation du light-buffer pour eclairer la geometrie. C'est la que la couleur diffuse, l'emission, l'intensite de spec, etc.. sont prises en compte.

tromb Fichier joint : SMRp (Sanctum_FullRender.png)


output dans une 2eme rendertarget du meme framebuffer des vecteurs de distortion pour un postprocess de deformation en screenspace, pour simuler la refraction de l'air due a la chaleur (ca peut servir aussi pour la refraction de surfaces diverses, y compris de la flotte)

tromb Fichier joint : sDBF (Sanctum_DistortionAndBlur.png)



valaaaa \o/