« 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] Définir la résolution d'un curve converti en mesh    [1][2] 10 75 Aujourd'hui 10:13:48
Arielboid 
Graphisme alternatif faire de la bd avec blender    [1][2][3] 23 387 Aujourd'hui 07:06:02
blend74 
Hors Sujet !! Sinoceratops project - Ateliers suivies de A à l'Animation 7 118 Hier 20:43:02
debutant 
Questions & Réponses Plan de découpage 2D à partir d'un low poly ? 5 48 Hier 17:06:08
pinockenstein 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[15] 144 10211 21/06 15:30:37
moonboots 
[WIP] et travaux terminés Nature - Court-métrage    [1][2] 15 674 21/06 06:21:39
Bibi09 
Questions & Réponses [résolu] Probleme Papercraft sous Blender 7 193 19/06 21:44:21
Larryon 
Python & Plugins [terminé] City pack Cars pour Blender 1 101 18/06 18:07:21
meltingman 
Questions & Réponses prb tuto crash car/rigid body    [1][2] 12 239 17/06 18:54:54
belomaker 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[23] 222 26367 17/06 10:34:03
Riggelm 
Graphisme alternatif Un court-métrage apocalyptique en 2D ! 3 2285 16/06 18:23:28
moonboots 
Dessin traditionnel Dessins - BlendX 8 14293 16/06 16:41:23
blend74 
Graphisme alternatif Monster Mash    [1][2] 15 433 16/06 16:22:01
blend74 
Questions & Réponses [résolu] Placer mon world 7 145 16/06 09:13:57
Lylo 
Questions & Réponses [non résolu] animation : décalage d'un objet avec "Follow path"    [1][2] 12 239 16/06 05:57:44
blendinfos 
Questions & Réponses Different move value for parent or child - Distances différentes pour un parent ou un enfant 0 226 16/06 04:12:14
Gazpart 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Version alpha disponible + discord    [1][2][3]...[67] 667 139591 15/06 08:58:37
Hook 
Questions & Réponses [non résolu] Plusieurs object qui avance sur une ligne trajectoire 9 599 14/06 18:29:34
blendinfos 
Questions & Réponses [non résolu] animer 2 objets ensemble, puis les séparer 2 91 14/06 11:43:57
blendinfos 
[WIP] et travaux terminés modelisation et animation de petits persos 9 319 14/06 10:20:03
blend74 

Qui est en ligne
113 utilisateur(s) en ligne (dont 58 sur Forums)

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


plus...
Nouveaux membres

Nemo
11/3/2021
qingjie 10/3/2021
Kask909 9/3/2021
marie-antoinette 7/3/2021
Bugs 7/3/2021
lolorogli75 4/3/2021
Flagiel 4/3/2021
thedeathclown 1/3/2021
Littlespoon 28/2/2021
luxperpetua 27/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Jui 30
Anniv des Jedi :-D
Jui 10
BUG de Lyon
Jui 23
Anniv du BlenderClan !
plus 255 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445