Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
tri_mod3.png
Publicité
Formation Blender ElephormBlender 3d Elephorm


     




« 1 2 (3) 4 5 6 ... 11 »


Re: Shader spéculaire Lafortune, quelques questions...
OverdOzed
Inscrit:
05/01/2004 22:52
De Toulouse
Post(s): 4292
Coucou, juste un mot d'encouragement.
Bon courage pour la suite.


ps : on veux des images avec le code qui fonctionne

Contribution le : 31/07/2008 20:49
_________________
lascapi.fr -> Conception de l'art toy
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, quelques questions...
Fou Furieux du Clan
Inscrit:
19/08/2007 15:35
De Toulouse
Post(s): 136
De rien

Vite Vite des images pour voir le résultat !!

Contribution le : 31/07/2008 20:50
_________________
Lorsqu'on regarde un objet en se disant "la mod est nickel, par contre il faudrait revoir les shaders", on se rend compte qu'on a trop utilisé blender ... et que la réalité n'est pas toujours telle qu'on s'attend à la voir
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, quelques questions...
OverdOzed
Inscrit:
15/06/2006 10:11
De Rennes
Post(s): 759
Merci pour les encouragements (c'est vrai, ça donne envie de pas décevoir )
Me reste à régler le problème des lampes multiples maintenant. Et j'ai repéré un bug lorsque je passe en affichage "shaded", comme s'il refusait d'interpoler les normales entre les vertices.

Contribution le : 31/07/2008 20:52
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, quelques questions...
OverdOzed
Inscrit:
15/06/2006 10:11
De Rennes
Post(s): 759
Ah euh les images, ça vient ça vient Je fais une anim avec une lampe qui révolutionne, 100 frames, 10 secondes par frame, ça fait donc 16mn40 secondes de rendu
[edit] c'est possible que je puisse poster que demain, parce que mes vieux mes parents coupent le modem

Contribution le : 31/07/2008 20:53
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, quelques questions...
Fou Furieux du Clan
Inscrit:
19/08/2007 15:35
De Toulouse
Post(s): 136
C'est étrange ce problème de lampes multiples : à priori la fonction que tu es en train de coder ressemble beaucoup à la fonction Phong_Spec, et y'a nulle part où il faut sommer les lampes : y'a "quelque chose" qui appelle ta fonction qui s'en occupe. A moins que ce ne soit le rslt=spec(rslt, hard) à la fin qui embrouille tout? À priori y'a pas de raison

Bon courage

Contribution le : 31/07/2008 20:58
_________________
Lorsqu'on regarde un objet en se disant "la mod est nickel, par contre il faudrait revoir les shaders", on se rend compte qu'on a trop utilisé blender ... et que la réalité n'est pas toujours telle qu'on s'attend à la voir
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, quelques questions...
OverdOzed
Inscrit:
15/06/2006 10:11
De Rennes
Post(s): 759
En effet, c'est bizarre hein ? Moi aussi j'ai regardé les autres fonctions de shading (avant de commencer la mienne) et les opérations sont identiques, des additions, des soustractions, quelques variables temporaires pour effectuer les calculs intermédiaires... Je suis perplexe. Mais j'y arriverai
[edit] upload 33%

Contribution le : 31/07/2008 21:14
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, quelques questions...
OverdOzed
Inscrit:
15/06/2006 10:11
De Rennes
Post(s): 759
Et zou ! http://www.vimeo.com/1444096

Observez comment la spéc s'étire en arc de cercle lorsque la lampe est rasante... Y'a pas à dire, c'est beaucoup plus réaliste que ce à quoi j'étais habitué avec les autres shaders Et encore, là je suis resté sur des valeurs raisonnables, en fait plus je mets un écart proportionnel entre Cxy et Cz, plus l'effet Fresnel est fort, plus la réflectance max est atteinte à des angles proches du plan tangent. J'ai calé ça sur des mesures scientifiques acquises au gonioreflectometre sur de la peinture bleue Pratt & Lambert, Vapex Interior Wall Base 1, color #1234, Cal. III... Intéressant non ?
Cxy = -1.03, Cz = 0.7. Le ratio |Cxy|/Cz est donc pas trop petit.

C'est plus drôle de coder soi-même en fait, on apprécie 3 fois plus - surtout lorsque ça marche...

Contribution le : 31/07/2008 21:21
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, ça marche :-)
OverdOzed
Inscrit:
23/12/2004 19:26
De Dijon
Post(s): 1870
decidemment pixelvore, tu m'impressionnes avec tes travaux. j'ai du mal à croire que tu ne sois qu'en terminale!
j'ai pas compris grand chose au code, mais je t'encourage comme je peux lol !
continue

Contribution le : 31/07/2008 22:13
_________________
mon site : en construction
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, ça marche :-)
OverdOzed
Inscrit:
15/06/2006 10:11
De Rennes
Post(s): 759
Stouckol, je suis juste un peu matheux Mais là je pense pas que ça soit vraiment compliqué le code, c'est juste qu'il faut avoir lu le paper originel pour comprendre de quoi il retourne (ne serait-ce que pourquoi on fait un changement de repère... C'est pas fait au hasard)

A part ça, j'ai une bonne nouvelle : j'ai résolu le problème des lampes multiples En me demandant ce qui pouvait chiffoner Blender lorsque je faisais mes calculs, je me suis dit qu'il était fort probable qu'en changeant de repère les vecteurs L et V, qui sont super importants, je fasse planter d'autres trucs. C'était bien ça Donc désormais, le code ne touche plus à un cheveu de ces vecteurs, il s'en sert juste pour les calculs mais ne modifie jamais leur valeur. Résultat, ça marche

Et par le même coup, ça a résolu le problème lorsque la ViewPort était en Shaded. Ca parait logique que tout plantait : à chaque appel de la fonction (çàd chaque pixel rendu avec un shader lafortune), les vecteurs vue et lumière ressortaient modifiés... Impossible de faire des calculs correctement dessus

Voilà, je crois bien que mon shader Lafortune est fini, maintenant les seuls choses que je pourrais changer c'est réviser le code pour qu'il soit plus propret, et puis... bien centrer les boutons que j'ai créés dans l'interface ? (et puis peut-être tenter de coder l'anisotropie, en calant la base vectorielle locale sur le vecteur tangent)

[edit] ah si je suis con, y'a encore une chose que je peux faire : vous donner les sources Maintenant le boulot ça va être de faire en sorte que ceci soit officialisé.

Voilà le code final je pense. On m'a donné la combine d'utiliser la fonction VecOrthoBasis (n, x, y) pour déterminer l'axe x perpendiculaire à n, et l'axe y perpendiculaire à x et n. Ca fait exactement la même chose que ce que j'avais écrit, mais vu que quelqu'un avait déjà écrit la fonction, autant s'en servir.

/* Lafortune isotropic spec */
static float Lafortune_Spec( float *n, float *l, float *v, int hard , float Cxy, float Cz , int tangent )
{
	float rslt ;
	float x[3] ;
	float y[3] ;
	float tmp_l[3] ;
	float tmp_v[3] ;
	
	VecOrthoBasisf(n, x, y); // find local vector basis, with surface normal = z axis
		
	/*get view vector in new local coordinates system (projecting it on x,y,n)
	(we cannot afford to modify the view vector itself, since Blender needs it for calculs.
	That's why tmp_l is used - this is also true for the light vector in following lines.) */
	tmp_v[0] = v[0]*x[0] + v[1]*x[1] + v[2]*x[2] ; // = v.x = cos (v, x) since x and v are normalized
	tmp_v[1] = v[0]*y[0] + v[1]*y[1] + v[2]*y[2] ; // = v.y = cos (v, y)
	tmp_v[2] = v[0]*n[0] + v[1]*n[1] + v[2]*n[2] ; // = v.n = cos (v, n)
	Normalize (tmp_v) ;

	//get light vector in new local coordinates system (projecting it on x,y,n)//
	tmp_l[0] = x[0]*l[0] + x[1]*l[1] + x[2]*l[2] ; // = l.x = cos (l, x) since x and l are normalized.
	tmp_l[1] = y[0]*l[0] + y[1]*l[1] + y[2]*l[2] ; // = l.y = cos (l, y)
	tmp_l[2] = n[0]*l[0] + n[1]*l[1] + n[2]*l[2] ; // = l.n = cos (l, n)
	Normalize (tmp_l) ;
		
	rslt = Cxy*tmp_l[0]*tmp_v[0] + Cxy*tmp_l[1]*tmp_v[1] + Cz*tmp_l[2]*tmp_v[2] ;
	// weighted dot product between light vector and view vector //
	if (tangent) rslt = sasqrt( 1.0f - rslt*rslt ) ; // in case tangent shading is turned on
	if( rslt > 0.0f )  rslt= spec(rslt, hard); // take the hardness parameter into account
	else rslt = 0.0f; // clamp negative values to 0
	return rslt;
	
}


Voilà un zip des fichiers modifiés, à vos compilateurs !

>>ici<<(lisez directories.txt pour savoir où placer les fichiers)

Contribution le : 01/08/2008 08:21
Créer un fichier PDF de la contribution Imprimer


Re: Shader spéculaire Lafortune, ça marche :-)
OverdOzed
Inscrit:
15/06/2006 10:11
De Rennes
Post(s): 759
Avec un patch c'est mieux >> http://www.savefile.com/files/1701289

Contribution le : 01/08/2008 08:43
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 2 (3) 4 5 6 ... 11 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses [non résolu] Comportement 2.8    [1][2] 15 569 Hier 22:01:32
blendinfos 
Questions & Réponses Blender 2.80 ne démarre pas 3 38 Hier 19:04:25
Gilead_Maerlyn 
Questions & Réponses Selection d'images pour le VSE 5 203 Hier 17:13:09
FoxRock 
Questions & Réponses Conseils pour la modélisation du visage 2 102 Hier 16:22:42
moonboots 
Questions & Réponses [résolu] Conseil pour une topologie 8 215 Hier 12:19:21
blendinfos 
Questions & Réponses Fusionner faces périphériques ? 7 99 Hier 11:33:20
Guppy88 
Questions & Réponses [non résolu] Blend4web : exporter les textures 2 111 Hier 08:43:17
blendinfos 
Questions & Réponses [résolu] Comment flouter uniquement le premier plan ? 4 93 20/09 19:43:35
Anton78 
Questions & Réponses [non résolu] Lignes de coupure sur UV    [1][2] 13 189 20/09 09:06:49
stigmamax 
Hors Sujet !! Présentation pour tous    [1][2][3]...[99] 982 247655 20/09 06:46:17
paquetdemouchoirs 
Questions & Réponses [résolu] MIDI to Blender 5 168 19/09 17:47:18
docouatzat 
The Blender Clan 'tchat La Bible des tutos Blender – Une Séléction de 150 Tutos Blender *en anglais 2 135 18/09 14:34:05
Gilead_Maerlyn 
Questions & Réponses [résolu] Blender lumière 3 158 18/09 09:06:47
moonboots 
Questions & Réponses Tableau d'objets déformés aléatoirement 4 178 17/09 21:11:22
creepclem 
Questions & Réponses [résolu] Problème de Sculpt 2 145 17/09 05:31:23
MHB29 
Questions & Réponses [résolu] Epaisseur non constante avec Solidify - Murs 2 149 16/09 14:36:42
HarDrive 
Questions & Réponses [non résolu] Array : duplication circulaire 2 132 16/09 06:04:40
blendinfos 
Questions & Réponses preferences utilisateur ne s'ouvrent plus 0 180 14/09 15:39:23
masje 
Questions & Réponses [résolu] Problème avec la symétrie    [1][2] 12 408 14/09 10:30:13
GFC 
Questions & Réponses galère d'importation SVG 5 268 14/09 08:42:16
Guppy88 

Qui est en ligne
66 utilisateur(s) en ligne (dont 34 sur Forums)

Membre(s): 0
Invité(s): 66


plus...
Nouveaux membres
OfeliaKoer 22/9/2019
Daniel0233 22/9/2019
Holly72489 22/9/2019
Leia734671 22/9/2019
WillardPri 22/9/2019
VernonHolt 22/9/2019
VeroniqueM 22/9/2019
ClarissaRo 22/9/2019
OscarMatti 22/9/2019
DoyleStoke 22/9/2019
Dernier Ajout
Forky-3D-ToyStory BC.png

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 11
BUG de Lyon
plus 278 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2019 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445