[HLSL] Liste de plusieurs lumières
Bonjour à tous,
Dans l'optique d'un moteur 3D gérant des scènes avec plusieurs lumières, je souhaiterais savoir comment je peux gérer dynamiquement une liste de lumières dans mon shader HLSL. J'ai regardé du côté de la doc MSDN mais je n'ai pas trouvé comment gérer des listes en HLSL (en tous cas, pas de liste de plus de 4 éléments, c'est très limitant ^^).
L'idée serait que je fasse un truc du genre :
côté c# :
Code:
1 2 3 4 5
| effect.setParameter["tableauDesPositionsDesLumieres"].SetValue(tableauDesPositionsDesLumieres);
// avec tableauDesPositionsDesLumieres de type Vector3[]
effect.setParameter["tableauDesIntensitesDesLumieres"].SetValue(tableauDesIntensitesDesLumieres);
// avec tableauDesIntensitesDesLumieres de type Vector[]
... |
et côté HLSL :
Code:
??? c'est là que je bloque
Si quelqu'un sait comment je pourrais m'y prendre (si c'est faisable), je suis preneur. À noter que pour pouvoir tourner sur des configs pas trop gourmande, j'essaye me limiter actuellement au :
- Vertex shader v1.1
- Pixel shader v2.0
Si vraiment c'est indispensable, je pourrai envisager d'augmenter ces versions mais si c'était possible de rester sur ces versions, ça m'arrangerait.
Merci d'avance de vos réponses.