« 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 [résolu] Snapping avec Blender 2.81 3 45 Aujourd'hui 15:42:50
TVISARL 
Questions & Réponses entailler texte sur surface courbe en ayant quads 2 80 Aujourd'hui 14:48:27
Rimpotche 
[WIP] et travaux terminés [WIP] Projet Tales & Legends    [1][2][3]...[12] 110 37076 Aujourd'hui 12:06:15
Redstar 
Questions & Réponses [résolu] Problèmes de rendu avec les dimensions d'la caméra 2 80 Aujourd'hui 11:44:13
Black_Panther 
Questions & Réponses [non résolu] Fluide passe à travers obstacle    [1][2] 11 118 Aujourd'hui 10:35:42
Rimpotche 
Questions & Réponses [résolu] texte blender n’apparaît pas en impression 3D 3 42 Aujourd'hui 10:15:15
kepkep 
Questions & Réponses eevee radiosité 3 109 Hier 17:15:34
Rimpotche 
Le coin des geeks InstallJammer 0 42 Hier 17:14:37
Redstar 
Questions & Réponses Dessinner sur un calque 1 66 Hier 14:56:58
Rimpotche 
Moteur de jeu GameBlender et alternatives [non résolu] Tour du monde et pathfiding 4 110 Hier 13:56:44
Redstar 
Questions & Réponses [Bones]renomer en symétire 1 62 Hier 11:18:15
Rimpotche 
[WIP] et travaux terminés [WIP] Akihabara 3 195 23/02 17:18:36
stev 
Questions & Réponses Rendu...inattendu... 2 99 23/02 11:44:14
SPH 
Questions & Réponses Century fox rendu pas top    [1][2] 12 195 23/02 11:21:57
Rimpotche 
The Blender Clan 'tchat Décès d'Eddy    [1][2] 17 512 23/02 10:29:20
Bibi09 
Questions & Réponses Perte de vue de mon objet par des zones grises 1 90 23/02 10:11:05
CBY 
Questions & Réponses [résolu] Array autour d'un axe 3 90 22/02 16:52:12
Crocodile_13 
Questions & Réponses [Driver]difference entre single proprety et transform channel 0 96 22/02 02:10:15
pierre-y 
Questions & Réponses Installer une ancienne version pour Blend4web 4 137 21/02 18:44:19
Rimpotche 
Questions & Réponses [non résolu] Une MixRGB Node qui ne fait pas son travail... 3 169 21/02 18:41:56
Rimpotche 

Qui est en ligne
37 utilisateur(s) en ligne (dont 21 sur Forums)

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


plus...
Nouveaux membres
LydaOram76 25/2/2020
pspkjsp 25/2/2020
navyasri 25/2/2020
TVISARL 25/2/2020
kepkep 25/2/2020

Zav
24/2/2020
alexmge 24/2/2020
esha 24/2/2020
VenusDalye 23/2/2020
AudryAlbis 23/2/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
(continuer) - 22:55
anniversaire de windspirit
Mar 14
Anniversaire de AMV12
Mar 16
Anniversaire de galba
plus 274 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445