Pages: 1
Salut à tous,
Je suis en train de migrer progressivement de Irrlicht.Net classique à Irrlicht.Net CP, avec beaucoup de petits couinements de joie jusqu'à présent.
Jusqu'à, parce que je viens de me rendre compte que la fonction SetMaterial(int material, Material mat) n'existe plus dans l'objet SceneNode. C'est génant, parce que j'ai toujours préféré m'en servir pour texturer des objets utilisant plusieurs matériaux.
Donc, deux questions:
1- Peut-être existe-t-elle encore mais a-t-elle changé de nom? Si oui, où se cache-t-elle maintenant? Parce que je crois vraiment avoir cherché partout.
2- Sinon, existe-t-il, sous Irrlicht.Net CP, un moyen de faire la même chose sans (à savoir, assigner un object "Material" pré-créé à tel ou tel materiau d'un node). Je ne pense pas que ce soit possible avec SetMaterialTexture, SetMaterialFlag et SetMaterialType (qui, sauf erreur, ne modifient que le premier matériau).
Bref, help!
Dernière modification par Agar (05-11-2006 14:42:12)
Hors ligne
Pour ma part j'utilise davantage la fonction "SetMaterialTexture(int layer, Texture text);"
Mais j'ai la même interrogation que toi pour comprendre la relation Textures/Matériaux... DeusXL revient bientôt ; je suis sûr qu'il saura éclairer nos lanternes !
Hors ligne
Elle n'existe pas car inutile. En effet, quand tu "get" un material, tu récupère un pointeur vers lui donc toute modification faite affecte automatiquement la SceneNode
C'est étrange pour le coup je l'admet mais ça se révèle beaucoup plus simple je trouve.
Hors ligne
DeusXL :
Elle n'existe pas car inutile. En effet, quand tu "get" un material, tu récupère un pointeur vers lui donc toute modification faite affecte automatiquement la SceneNode
C'est étrange pour le coup je l'admet mais ça se révèle beaucoup plus simple je trouve.
Ok, my mistake comme on dit en français. J'étais persuadé jusqu'ici que GetMaterial retournait une copie du matériau et non un pointeur vers lui (sans doute parce que le nom de la fonction commence par "Get", et que mon cerveau a sa raison que la raison ignore).
Je reconnais qu'utiliser GetMaterial devient dans ce cas plus simple que de faire un SetMaterial avec en paramètre un nouveau matériau.
Mais alors, deux questions:
1- Pourquoi ne pas renommer GetMaterial en Material (ou NodeMaterial, pour éviter les confusions, vu que le nom Material est déjà pris) ? Ca éviterait aux gens de faire la même erreur de raisonnement que moi...
2- A quoi servent encore les fonctions SetMaterialTexture, SetMaterialFlag et SetMaterialType ? Je sais par exemple qu'elles ont tendance à embrouiller les débutants (c'était mon cas quand j'ai commencé Irrlicht), qui confondent les "layers" de textures d'un même matériau avec la liste des matériaux.
Tant que j'y suis, vu que je t'ai sous la main, DeusXL, félicitations pour Irrlicht.net CP, c'est de loin le meilleur wrapper Irrlicht que j'ai jamais vu.
Dernière modification par Agar (06-11-2006 01:56:44)
Hors ligne
Pour la question 1] c'est les préférences des gens, moi je le nomme ainsi pour coller à Irrlicht un minimum.
Pour la question 2] imagine un mesh avec 50 materials, tu devrais faire une boucle for très longue pour mettre la même texture/le même flag/le même type à tous ces matériaux. Au lieu de cette longue boucle for, tu fais SetMaterial** et ça l'applique sur tous les matériaux. L'utilité de ces fonctions est clairement de faire des opérations de masse
PS : Merci
Hors ligne
Pages: 1