#1 

05-11-2006 13:41:50

Agar
Membres
Avatar de Agar
Date d'inscription:
Messages: 16
IP: 86.69.84.131
Courriel

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!


Hors ligne


#2 

05-11-2006 18:56:38

kedu
Modérateurs
Avatar de kedu
Date d'inscription:
Messages: 155
IP: 89.86.113.204
Courriel

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


#3 

05-11-2006 20:04:46

DeusXL
Membres
Avatar de DeusXL
Date d'inscription:
Messages: 174
IP: 82.66.209.23
Courriel

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 wink
C'est étrange pour le coup je l'admet mais ça se révèle beaucoup plus simple je trouve.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#4 

06-11-2006 00:56:33

Agar
Membres
Avatar de Agar
Date d'inscription:
Messages: 16
IP: 86.67.159.251
Courriel

DeusXL Ecris:

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 wink
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.


Hors ligne


#5 

06-11-2006 06:25:04

DeusXL
Membres
Avatar de DeusXL
Date d'inscription:
Messages: 174
IP: 82.66.209.23
Courriel

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 wink

PS : Merci smile


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
119 invités en ligne
membre en ligne: -
RSS Feed