ho classe le drag/drop de fichiers pour l'upload sur mirari
bon, donc... (t'as dja du voir un screen de cette scene la bob
)
PASSE 1
normales encodees en coordonnees ecran spheriques (2 composantes R, G) + parametres du modele de lighting (2 composantes B, A):
Fichier joint : (Sanctum_NormalsBRDF.png)
decomposition:
normales reconverties en XYZ classique, balance dans les canaux RGB:
Fichier joint : (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)
Fichier joint : (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.
Fichier joint : (Sanctum_LinearDepthBGRA8.png)
depth lineaire remappee:
Fichier joint : (Sanctum_LinearDepth.png)
PASSE 2
Splatting des lights. la on voit bien les quads en screenspace qui englobent la zone d'influence des lights:
Fichier joint : (Sanctum_LightSplatting.png)
Light-buffer genere:
Fichier joint : (Sanctum_Irradiance.png)
Spec dans le canal alpha du light-buffer:
Fichier joint : (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.
Fichier joint : (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)
Fichier joint : (Sanctum_DistortionAndBlur.png)
valaaaa \o/