Je suis pas optimiste sur les réponses

mais je la pose quand même! donc voila: j'essaie de faire une map, en 3d, avec directx. Les points et triangles sont bien positionés, ce n'est pas le probleme. le truc c'est pour les lumieres: il faut les normales. donc je m'y suis mis, mais la je sais vraiment pas pourquoi sa marche pas

. Voila le passage :
GROUNDVERTEX* pVertices;
if( FAILED( m_pVB->Lock( 0, 0, (void**)&pVertices, 0 ) ) )
return E_FAIL;
for(j=0; j<=height; j++ )
for( int i=0; i<=width; i++ )
{
pVertices[j*(width+1)+i].position = D3DXVECTOR3((float)i*tsize,m_hzmat[(j+1)*(width+1)+i+1],(float)j*tsize);
pVertices[j*(width+1)+i].normal = D3DXVECTOR3(0,0,0);
}
D3DXVECTOR3 v1,v2,v3,v4,vp;
for(j=1; j<height; j++ )
for( int i=1; i<width; i++ )
{
D3DXVec3Normalize( &v1, &(pVertices[j*(width+1)+i].position - pVertices[j*(width+1)+i-1].position) );
D3DXVec3Normalize( &v2, &(pVertices[j*(width+1)+i].position - pVertices[j*(width+1)+i+1].position) );
D3DXVec3Normalize( &v3, &(pVertices[j*(width+1)+i].position - pVertices[(j+1)*(width+1)+i].position) );
D3DXVec3Normalize( &v4, &(pVertices[j*(width+1)+i].position - pVertices[(j-1)*(width+1)+i].position) );
D3DXVec3Normalize( &vp, &(v1+v2+v3+v4) );
pVertices[j*(width+1)+i].normal = (vp.y>=0)? vp : -vp;
}
m_pVB->Unlock();
Donc, voila... chaud...
-----------------------------------
Kubo!!! http://ff6sol.com
