Dan's Orbiter page

Orbiter Francophone => Création Orbiter Francophone => Topic started by: jeanus on 21 June 2017, 12:24:21

Title: OAPIFUNC int oapiSetMaterial ...
Post by: jeanus on 21 June 2017, 12:24:21
Bonjour, j'essaie de remplacer les valeurs vertes et bleues de l'émissivité d'un "Matérial" existant dans mon mesh, pour passer d'un blanc "pétant" à un rouge également "flashi", l'opération sera effectuée à la demande (interrupteur / M > Rouge _ interrupteur / A > blanc), le tout en C++ ...
J'ai trouvé cette commande " oapiSetMaterial (DEVMESHHANDLE hMesh, DWORD matidx, const MATERIAL *mat) "

est-ce le bon principe ?
J'ai déjà essayé plein de choses, force est de constater que je suis une "quiche"  :( je n'y arrive pas !

hMesh > ok
matidx > ok
*mat > pas ok, que faut-il donner comme infos ?
Qu'elle est la procédure ... ou, dans quel document puis-je la trouver ? Je ne trouve pas dans API_Ref.
:merci:


Title: Re: OAPIFUNC int oapiSetMaterial ...
Post by: Pitx on 22 June 2017, 11:43:58
Hello,
D'apres la doc, l'objet "mat" de type MATERIAL a un attribut "emissive", lui-meme de type COLOUR4. Et justement, les objets de type COLOUR4 ont 4 attributs : r, g, b, a. En modifiant les valeurs de g et b (entre 0..1) tu devrais t'en sortir.

Pitx
Title: Re: OAPIFUNC int oapiSetMaterial ...
Post by: jeanus on 23 June 2017, 18:38:08
Merci Pitx, c'est ce que j'ai fais, mais je dois avoir un problème de "procédure", il ne se passe rien au niveau du "Matérial" ???
Je vais essayer autre chose ... Il parait que plus on rate ... !!!
 :wor:

Title: Re: OAPIFUNC int oapiSetMaterial ...
Post by: jacquesmomo on 23 June 2017, 19:52:48
Je vais essayer autre chose ... Il parait que plus on rate ... !!!
:badsmile: