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# :et côté HLSL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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[] ...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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ??? c'est là que je bloque
- 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.
Partager