Хм. Проекция текстуры пятна от источника не масштабируется. В реале когда фонарь подносишь близко к объекту то пятно пропорционально уменьшается, и наоборот. Матрицу проекции строю через D3DXMatrixLookAtRH.
void Light::BuildSpotProjectionMatrix() {
btVector3 bEye = globalTransform.getOrigin();
btVector3 bLookAt = bEye + ( globalTransform.getBasis() * btVector3( 0, 1, 0 )).normalize();
btVector3 bUp = ( globalTransform.getBasis() * btVector3( 0, 0, -1 )).normalize();
D3DXVECTOR3 dxEye( bEye.x(), bEye.y(), bEye.z() );
D3DXVECTOR3 dxLookAt( bLookAt.x(), bLookAt.y(), bLookAt.z() );
D3DXVECTOR3 dxUp( bUp.x(), bUp.y(), bUp.z() );
D3DXMatrixLookAtRH( &spotProjectionMatrix, &dxEye, &dxLookAt, &dxUp );
}
Что я делаю не так?