关于纹理(贴图)的问题
我建了一个C3DObject类。载入纹理和建立模型都是对的。但是只能显示全黑的一个物体,却没显示纹理。
HRESULT C3DObject::Render(LPDIRECT3DDEVICE7 pd3dDevice, BOOL bAlpha)
{
if(!_bVisible) return S_OK;
D3DMATRIX matWorld, matTrans, matRotateX,matRotateY,matRotateZ,matScale;
D3DUtil_SetTranslateMatrix(matTrans,_vPos.x,_vPos.y,_vPos.z);
D3DUtil_SetRotateXMatrix( matRotateX, _fRadX );
D3DUtil_SetRotateYMatrix( matRotateY, _fRadY );
D3DUtil_SetRotateZMatrix( matRotateZ, _fRadZ );
D3DUtil_SetIdentityMatrix( matWorld );
D3DMath_MatrixMultiply(matWorld,matTrans, matWorld);
D3DMath_MatrixMultiply(matWorld,matRotateZ,matWorld);
D3DMath_MatrixMultiply(matWorld,matRotateY,matWorld);
D3DMath_MatrixMultiply(matWorld,matRotateX,matWorld);
pd3dDevice->SetTexture( 0, D3DTextr_GetSurface(_texture) );
pd3dDevice->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorld );
pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,D3DFVF_VERTEX,
_pVertex,_vecNum,_pVecIndex, _vecIndexNum, 0 );
pd3dDevice->SetTexture( 0, NULL );
return S_OK;
}
在其他函数里面灯光有打开的。
请教各位,指点迷津啊。