Message #10498
Sujet: Optimiser les fps avec plusieurs centaines de scenenodes ?
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 29-05-2012 22:31:54 | Akabane87 |
Je ne crois pas avoir vu de fonctions permettant d'instancier un skeleton à la volée et lui rajouter des bones à la volée également... Je ne peux pas définir à l'avance la structure "moléculaire" que l'utilisateur final voudra avoir. C'est lui qui en fonction de certaines propriétés d'objets ajoutés au vaisseaux pourra ajouter une extension de skeleton au skeleton existant.
Si j'utilise un skeleton, il me faut avoir accès à des fonctions qui me permettent d'ajouter ou retirer des bones à la volée (ou merger 2 skeleton ensemble). Celà est-il réalisable avec irrlicht ou bien suis encore dans un cul de sac ? ps: lien vers mon topic sur le forum officiel irrlicht : http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=46396 edit: après avoir regardé de plus près il s'avère que les bonescenenodes sont accessibles depuis un animatedmeshscenenode totalement fermé en écriture dans le sens ou le seul moyen d'obtenir tout ça est de charger un model animé depuis un fichier. Impossible de modifier à la volée le skeleton pour lui ajouter ou enlever des bones... Faudrait-il que je crée une nouvelle node du genre DynamicAnimatedMeshSceneNode avec des fonctions permettant d'ajouter un bone à un autre ou retirer tous les bones fils d'un bone ? Comment mapper mes différents mesh statics sur ce skeleton, comment les skinner à la volée ? Ca ne me semble pas forcément évident et le gain de fps me semble peu probable (dans tous les cas il me faudra merger mes mesh en un seul un fois le tout skiné). edit2: Je suis tombé la dessus et ça semble marcher plutôt bien : http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=40415&hilit=instancing Je vais essayer un peu cette voie la et si ça ne convient pas je chercherai à nouveau dans les autres directions. |
| Création du message | 29-05-2012 18:33:54 | Akabane87 |
Je ne crois pas avoir vu de fonctions permettant d'instancier un skeleton à la volée et lui rajouter des bones à la volée également... Je ne peux pas définir à l'avance la structure "moléculaire" que l'utilisateur final voudra avoir. C'est lui qui en fonction de certaines propriétés d'objets ajoutés au vaisseaux pourra ajouter une extension de skeleton au skeleton existant.
Si j'utilise un skeleton, il me faut avoir accès à des fonctions qui me permettent d'ajouter ou retirer des bones à la volée (ou merger 2 skeleton ensemble). Celà est-il réalisable avec irrlicht ou bien suis encore dans un cul de sac ? ps: lien vers mon topic sur le forum officiel irrlicht : http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=46396 edit: après avoir regardé de plus près il s'avère que les bonescenenodes sont accessibles depuis un animatedmeshscenenode totalement fermé en écriture dans le sens ou le seul moyen d'obtenir tout ça est de charger un model animé depuis un fichier. Impossible de modifier à la volée le skeleton pour lui ajouter ou enlever des bones... Faudrait-il que je crée une nouvelle node du genre DynamicAnimatedMeshSceneNode avec des fonctions permettant d'ajouter un bone à un autre ou retirer tous les bones fils d'un bone ? Comment mapper mes différents mesh statics sur ce skeleton, comment les skinner à la volée ? Ca ne me semble pas forcément évident et le gain de fps me semble peu probable (dans tous les cas il me faudra merger mes mesh en un seul un fois le tout skiné). edit2: Je suis tombé la dessus et ça semble marcher plutôt bien : http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=40415&hilit=instancing Je vais essayer un peu cette voie la et si ça ne convient pas je chercherai à nouveau dans les autres directions. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 156 invités en ligne membre en ligne: - RSS Feed |