Code: Alles auswählen
static const Matrix4x4<T> PerspectiveLH( T width,
T height,
T near,
T far )
{
std::cout << "near=" << near << "far=" << far << std::endl;
T dist = near-far;
if( dist > -0.00005 || near < 0.00005
|| width < 0.00005 || height < 0.00005 )
return Identity();
T inv_dist = 1/dist;
return Matrix4x4<T>(
2*near/width, 0, 0, 0,
0, 2*near/height, 0, 0,
0, 0, (near+far)*inv_dist, -1,
0, 0, 2*near*far*inv_dist, 0 );
}

Aber irgendwie hat es mich interessiert was jetzt wirklich schuld daran ist, und deshalb bin ich dem noch etwas genauer nachgegangen bis ich in der 'windef.h' fündig geworden bin. Dort bin ich dann auf zwei sehr sinnvolle Zeilen gestoßen:
Code: Alles auswählen
#define far
#define near
