Salut,
comment faire pour appliquer de la lumiére sur un mesh ?
j'arrive à afficher le mesh lorsque la lumiere est desactivée , mais dés qu'elle est activée , le mesh est tout noir ... je peux voir sa forme par dessus d'autres objets.
Merci.
Salut,
comment faire pour appliquer de la lumiére sur un mesh ?
j'arrive à afficher le mesh lorsque la lumiere est desactivée , mais dés qu'elle est activée , le mesh est tout noir ... je peux voir sa forme par dessus d'autres objets.
Merci.
Si ton mesh est tout noir c'est qu'il ne contient pas d'information sur les normales. Il faut que tu utilises Mesh->CloneMeshFVF pour lui spécifier un FVF qui contient des infos sur les normales. Ensuite pour générer les normales tu peux utiliser la fonction D3DXComputeNormals.
j'ai essayé mais je n'y arrive pas ...
voici le code que j'ai mis.
if (! (pMesh->GetFVF() & D3DFVF_NORMAL ))
{
pMesh->CloneMeshFVF (pMesh->GetOptions(),
pMesh->GetFVF() | D3DFVF_NORMAL,
pDevice, &pClone);
if ( pMesh != NULL ) pMesh->Release();
pMesh = pClone;
}
D3DXComputeNormals (pMesh, NULL);
dés que je met la lumiére active , le mesh est tout noir .. j'ai un cube avec des normals qui lui s'affichent bien par contre , mais je le fais moi même pas par un mesh.
voici le render aussi :
for ( DWORD i=0; i<dwNbMat ; i++ )
{
pMateriaux[i].Set();
pTextures[i].Set();
pMesh->DrawSubset( i );
}
il doit me manquer quelque chose , quelque part .. mais quoi ??
Hmm tout a l'air ok... je vois pas trop ce qu'il manque
aye , j'ai trouvé ...
c'etait l'application des differents materiaux qui n'etaient pas bonne .
maintenant ca marche.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager