Question: Paramètres par vertices

Questions à propos du scripting Shader.
Avatar de l’utilisateur
MrNothing
Messages : 110
Inscription : 29 Mars 2012 16:58

Question: Paramètres par vertices

Message par MrNothing » 07 Nov 2014 17:09

Bonjour!

Depuis Unity, je suis en mesure de passer certains parametres au shader pour chaque vertice: une couleur (vertex color), 3 uvs (uv, uv1, uv2) et une position.

Ma question:
Est-t-il possible de passer des paramètres personnalisés ?

J'avais cru entendre que c'était possible avec UDK mais je n'ai aucune info dessus pour Unity.

Merci!

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: Question: Paramètres par vertices

Message par artemisart » 07 Nov 2014 19:01

Salut,

Personnalisés non, et fait attention aux uvs il y en a que 2 sets (uv1 == uv2).
Par contre si tu n'utilise pas les tangents/colors32 et peut-être boneWeights tu peux les utiliser pour stocker les floats que tu veux.
La 5 apportera le support d'au moins 4 uvs sets.

Avatar de l’utilisateur
MrNothing
Messages : 110
Inscription : 29 Mars 2012 16:58

Re: Question: Paramètres par vertices

Message par MrNothing » 07 Nov 2014 19:05

artemisart a écrit :Salut,

Personnalisés non, et fait attention aux uvs il y en a que 2 sets (uv1 == uv2).
Par contre si tu n'utilise pas les tangents/colors32 et peut-être boneWeights tu peux les utiliser pour stocker les floats que tu veux.
La 5 apportera le support d'au moins 4 uvs sets.
Ca marche.
Je ne conaissait pas tangents et boneWeights merci pour l'info!

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Question: Paramètres par vertices

Message par Alesk » 07 Nov 2014 22:10

Attention tout de même : plus on en balance et plus ça rame ;)
J'ai encore ce souci avec mon moteur de particules...

Attention aussi si tu veux utiliser les normales pour envoyer des données différentes, pour le cas d'un shader sur mobile (opengl es 2.0), il faut bien penser à ajouter ceci :

Code : Tout sélectionner

#pragma glsl_no_auto_normalization 
Sinon les vecteurs stockés dans les normales seront automatiquement normalisés, et du coup on ne récupère plus dans le shader les données envoyées à l'origine... j'ai passé un sacré moment à trouver la réponse à ce souci >__<

Pour ce qui est des couleurs, que l'on mette à jours l'attribut .colors ou .colors32 du mesh, ça revient au même dans le shader donc ce ne sont pas deux tableaux séparés.
Par contre coté scripting, il est beaucoup plus rapide de mettre à jour les couleurs en utilisant l'attribut .colors32

Pour les boneWeights, à ma connaissance, ce n'est pas accessible depuis un shader :/

Voilà pour mon complément à ce sujet :mrgreen:

Répondre

Revenir vers « les Shaders »