Demoscene.fr BBS

Articles et discussions techniques => Code => Topic started by: dark poulpo on 02 March 2013 à 14:29:19

Title: problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 02 March 2013 à 14:29:19
bonjour!

voilà, nouveau problème...

j'au un shader dynamique qui devra réagir à l'éclairage (l'intensité) que son objet au quel il est attaché recevra. en gros et pour faire simple, j'au un oeil, représenté par une demi sphère, et l'éclairage devra faire réagir sa pupille (+ ou - myosis ou mydriase).
Bon ça c'est pour le contexte.

mon soucis est le suivant, le shader testé sur un carré (uv map carré) affiche bien au centre du carré la pupille.
le mapping de ma demi sphère pour le rendre compatible avec ça, est représenté comme ceci ... (voir images jointes)

le shader est représenté comme ceci... (voir image jointe) l'image n'est pas à sa taille réelle, mais c'est juste pour vous faire comprendre que l'iris, la pupille, ... sont centrés au milieu de la texture dynamique pour aller avec l'uv mapping de ma sphère qui elle aussi centre le sommet de celle-ci.

sauf que voilà, au rendu j'ai du blanc...
je me dis qu'il doit y avoir un problème d'uv, mais je ne vois pas où... ma logique semblait bonne à la base.

j'aurais pu passer par une texture intermédiaire pour afficher l'iris ensuite transmettre cette texture à l'oeil, mais si je fais cela je ne pourrais pas connaitre l'intensité de mes lumières sur mon oeil. c'est pour cela que je veux afficher directement la procédurale pour faire les calculs de la taille des pupilles en temps réel.


Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 02 March 2013 à 20:00:52
Pour vérifier si c'est un problème d'UV, une astuce simple :
- pour commencer assure-toi que ton shader est utilisé, par exemple en lui faisant renvoyer du rouge ;
- une fois que c'est vérifié, colore en fonction des coordonnées de texture, par exemple avec (à adapter selon comment tu récupères tes coordonnées de texture) : gl_FragColor = vec4(gl_TexCoord[0].st, 1., 1.);
- à toi de déduire de la couleur obtenue si tes UV sont correctes (tu devrais avoir un gradient entre des coins bleu, magenta, cyan et blanc, et l'emplacement de la pupille devrait être prune.

A part ça, vu que c'est le logo de BeautyPi que tu as pris, tu pourrais aussi bien prendre le shader qui a servi à le générer et l'adapter. :)
https://www.shadertoy.com/view/lsfGRr (https://www.shadertoy.com/view/lsfGRr)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 02 March 2013 à 23:54:11
merci, j'ai résolu le problème, ça venait de gl_FragCoord, je ne l'avais pas vu. bref.
pour le shader c'est ce que j'avais fait.

je l'avais pris ici moi. http://glsl.heroku.com/ (http://glsl.heroku.com/)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 03 March 2013 à 00:39:58
je l'ai amélioré!

Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 03 March 2013 à 05:30:40
Ah oui ok j'avais compris que tu passais par une texture, ok. :)
Ça donne quel résultat alors ?

Pour aller plus loin : http://www.iryoku.com/open-your-eyes (http://www.iryoku.com/open-your-eyes)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 03 March 2013 à 11:50:34
mais je ne suis pas encore satisfait, le bord de l'iris est trop noir, je pense que je vais ajouter une texture par dessus pour la partie blanche (vaisseaux sanguins, ...)
et quand je vois le lien que tu as mis, je n'en est pas encore là je crois, je le regarderais ce soir... si il y en a qui veulent améliorer l'oeil avec moi, je vous filerais le shader modifier ce soir... là je dois partir
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 03 March 2013 à 12:25:44
Quelques images pour référence :
http://www.flickr.com/photos/yeissongomez/5175337011/#lightbox/ (http://www.flickr.com/photos/yeissongomez/5175337011/#lightbox/)
http://www.flickr.com/photos/gemmabou/5381430420/#lightbox/ (http://www.flickr.com/photos/gemmabou/5381430420/#lightbox/)
http://www.flickr.com/photos/kushdarkroom/4041884778/#lightbox/ (http://www.flickr.com/photos/kushdarkroom/4041884778/#lightbox/)

Il y a certes le noir, mais aussi la transition entre le blanc et l'iris qui me semble trop brutale. Le blanc est aussi beaucoup trop lumineux : même complètement éclairé, un œil n'est pas aussi blanc.

Je crois que tu as une des faces qui a des coordonnées cassées sur l’œil droit.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 04 March 2013 à 01:11:39
oui il y a un soucis sur 2 ou .. triangles avec l'uv, mais je ne sais pas pourquoi...peut être un soucis à la conception...

j'ai refais l'oeil en me basant sur cette image, et ça donne ça...

pour le blanc je n'ai pas encore fait, je pense comme je disais y mettre une texture toute faite... à voir.

mais j'ai du mal à obtenir plus de réalisme, il faudrait être plus calé en équation peut être.

et il faudrait que je vois ce que ça donne avec l'intensité de la lumiere qui agit sur les "fibres" (couleurs + ou - foncés ) peut être. en plus que la pupille.

des idées?

ça m'énerve, ça fait trop peinture!
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: LittleWhite on 04 March 2013 à 08:26:44
Bonjour,

Lorsque je vois le modèle du visage et la qualité de l'oeil, je trouve que le contraste est très fort. Disons que l'oeil, c'est pas une grande surface visible et pourtant il a une grande qualité (par rapport au reste du modèle) et personnellement, je trouve cela un peu dommage (le modèle gache/réduit la qualité du travail sur l'oeil).
Mis à part cette remarque, il me semble que l'oeil ne prend pas la lumière comme un objet quelconque et que pour faire quelque chose de réaliste avec la lumière, je pense qu'il faut ajouter une cubemap pour créer un reflet de la scène alentour.
Je me suis regardé dans le miroir (ouep, je trouve d'autres yeux dans le coin) et je remarque deux choses :
- le reflet de la lumière ne couvre pas une aussi grande zone que ce que vous faites. Il y a un reflet dans la partie noir, et un autre dans le coin de l'oeil (simulable, je pense, en utilisant deux sphères pour le calcul des normales (ou alors une normal map pour simuler la même chose) ;
- le reflet est plat/parfait (donc, ne pas utiliser de normal map ou diffuse map comme vous l'avez fait dans la première capture de l'oeil bleu).

EDIT : je ne pense pas que la lumière est une importance sur les fibres, car c'est la cornée qui capture tous les reflets de lumières. Enfin ... peut être que je me trompe.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 04 March 2013 à 11:50:48
tu parles de qualité de texture pour le perso? ou qualité "polygonales"?
si c'est texture c'est normal, je ne m'y suis pas encore penché.

ensuite réduire l'effet spécular (enfin... augmenter sa valeur quoi) c'est noté!

par contre pour la cubemap, pour l'instant n'ayant aucun environnement autour, le mieux que j'ai a refléter sont des nuages?

je n'ai pas bien compris ton histoire de normal map... tu me dis qu'il faut, et après qu'il ne faut plus??? ni même cette histoire de sphère...

après quelques modif, j'ai ça.

quand je vois la photo , on dirait bien qu'il y a un effet de bump sur le specular, je ne sais pas si ça vient de l'appareil qui permet de faire ces photos, ou si c'est la cornée qui est comme ça
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 04 March 2013 à 23:59:39
ici le shader si cela vous intéresse.

https://www.shadertoy.com/view/XslGR8 (https://www.shadertoy.com/view/XslGR8)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 10 March 2013 à 05:14:01
A ça commence à être pas mal du tout ! C'est bien joué l'espèce de jonction vers le pourtour de la pupille. Le tout manque peut-être un poil de saturation, mais c'est peut-être la photo qui est trop saturée au contraire. En tout cas ce n'est que du détail.

Tant que tu en es à jouer avec le shader de IQ, il a un bug que tu pourrais corriger au passage : la discontinuité à gauche.
On voit le bug apparaître à ce moment de l'écriture : http://www.youtube.com/watch?v=emjuqqyq_qc&t=6m10s#ws (http://www.youtube.com/watch?v=emjuqqyq_qc&t=6m10s#ws)

Pour ce qui est du spéculaire bizarre sur la photo, je pense que ce que tu vois, c'est un projecteur avec un verre non lisse. Le reflet des cils par contre est bien régulier.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 10 March 2013 à 18:18:28
je vais essayer avec n peu de saturation quand même pour voir... la je rebosse la gestion du collada, pour le multi texture afin de gérer le reflet sur la cornée pour voir ce que ça donnera par la suite...

j'aimerai essayer aussi d'en faire un plugin pour blender, 3dsmax... mais moi et blender....



Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 10 March 2013 à 23:01:02
saturation:
original, sat = 1.4 sat = 1.8

du contraste non? pour donner un peu de profondeur aux filaments de l'iris...
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 21 March 2013 à 00:29:56
voilà ce que ca donne, je n'arrive pas à appliquer un cube mapping sur la cornée (trop transparente, mais surtout, je n'ai qu'une infime partie de la facette du cube) et je n'ai pas réussi a obtenir cet effet de transition entre l'iris et le blanc... c'est trop "dure" comme transition.

des avis? (il y a une vidéo aussi)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 21 March 2013 à 03:06:16
Le blanc passe maintenant beaucoup mieux. Sur la capture je trouve la tache rouge discutable, ça évoque plus une blessure que des vaisseaux, mais dans la vidéo ça ne choque pas.

Les cils ne vont pas du tout, et c'est maintenant le problème qui ressort le plus je trouve. Il faudrait revoir soit la texture soit l'équation de blending soit l'ordre de rendu : l'un d'eux est vraisemblablement le coupable du pourtour grisâtre.

Le deuxième plus gros problème est le contour de l'iris qui est beaucoup trop net. Ça passe d'un coup du noir au blanc, au lieu de faire une transition douce comme sur les photos.

Enfin il reste le matériau de l’œil, qui est trop mat et trop "opaque". Évidemment ce problème là n'est pas simple.

(attention aussi à garder un niveau de détail cohérent entre les yeux et le reste du visage)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Patapom on 21 March 2013 à 10:50:00
Un peu les mêmes remarques que Zavie et en plus je dirais que, d'après les photos de trucs réalistes, il manque l'assombrissement super important vers les bords, une sorte d'AO quand on se rapproche des bords, et doublement quand on se rapproche du nez...
Y a pas moyen de baker ça dans une texture mappée par dessus l'oeil ? Comme une sorte de voile...

(http://i.imgur.com/d970sQA.png)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 21 March 2013 à 15:46:10
merci, j'ai lu vos messages, et je vais essayer au mieux de résoudre ces problèmes...

pour les cils, effectivement, il y a un soucis...
mais je ne trouve pas de solution....
tout de suite les images...

soit j'obtiens le problème déjà connu, soit les cils sont bons, mais on voit les polygones en transparence alors qu'ils sont en alpha 0.0
une idée?
la 1ère image est là pour vous expliquer comment sont fait les cils...
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Patapom on 21 March 2013 à 16:24:19
Tu utilises quel mode de blending pour les cils ? Alpha Blend ?

Les problèmes de bordures doivent venir de ça, tu devrais essayer de passer en premultiplied alpha (http://home.comcast.net/~tom_forsyth/blog.wiki.html#%5B%5BPremultiplied%20alpha%5D%5D):
Au lieu du classique SRC_ALPHA : INV_SRC_ALPHA tu mets ONE : INV_SRC_ALPHA

Par contre t'auras p'têt besoin de retoucher ta texture de cils...
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: dark poulpo on 21 March 2013 à 23:55:34
j'ai résolu les cils en les détachant du corps + ONE, sinon sans les détacher, j'avais le même résultat. merci patapom!

là je m'efforce d'avoir la transition avec le blanc plus flou... on verra bien ce que ça va donner
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 22 April 2013 à 02:13:25
Je suis tombé sur cette page récemment, où l'auteur (le lead de l'équipe qui a réalisé Black Mesa Source) présente un shader d’œil de sa création : http://carlosmontero.com/shader_eyeball.php (http://carlosmontero.com/shader_eyeball.php)
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 17 September 2013 à 17:30:14
Salut,

Je déterre ce thread car ce shader a été publié récemment sur ShaderToy:

https://www.shadertoy.com/view/XsfGWj (https://www.shadertoy.com/view/XsfGWj)

En plus du motif de l'iris et des vaisseaux sanguins, il implémente (ou approxime) les reflets, l'ambient occlusion, le subsurface scattering, et la réfraction.


P.S.: ponce, ce serait bien si on pouvait incruster des blocs iframe ShaderToy.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: ponce on 18 September 2013 à 09:18:46
[iframe width=800 height=600]https://www.shadertoy.com/view/XsfGWj[/iframe]

Zavie ça devrait marcher maintenant, avec le fullscreen aussi.

Rappel pour la balise iframe: les attributs width et height sont obligatoires.

Code: [Select]
[iframe width=800 height=600]https://www.shadertoy.com/view/XsfGWj[/iframe]
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: ponce on 18 September 2013 à 09:37:31
Intéressant: http://glsl.heroku.com (http://glsl.heroku.com) renvoie le header HTTP https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options (https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options)
Ce qui avec la collaboration du navigateur évite à ce site d'être embeddé dans une <iframe>.

Bon a savoir si vous faites par exemple un jeu HTML5 vu que la vieille méthode de changer l'URL du parent peut-être défaite par l'attribut sandbox.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: MsK` on 18 September 2013 à 18:31:40
Tu veux dire qu'on voit pas ton iframe dans firefox ? Dans chrome ça marche.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: ponce on 18 September 2013 à 23:18:37
Shadertoy ça marche dans les deux, je parlais de http://glsl.heroku.com (http://glsl.heroku.com) qui ne marche dans aucune iframe.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 19 September 2013 à 00:21:10
ponce: ça marche, mais je faisais référence au petit iframe que ShaderToy propose :
<iframe width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/XsfGWj" allowfullscreen></iframe>
[iframe width=640 height=360]https://www.shadertoy.com/embed/XsfGWj[/iframe]
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: Zavie on 19 September 2013 à 00:22:43
Ça a l'air de marcher nickel, super !
Petit bug : j'étais en prévisualisation, et en cliquant sur "voir" pour vérifier que ça se passait bien, ça a posté mon message.
Title: Re : problème de mapping, ou je ne sais quoi...
Post by: ponce on 19 September 2013 à 20:05:40
Zavie: en fait pour des raisons d'escaping/d'injection on ne peut pas accepter des balises HTML dans les posts.