Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// ****************************************************************** // Projektionsmatrix berechnen TRIBASE_API tbMatrix tbMatrixProjection(const float fFOV, const float fAspect, const float fNearPlane, const float fFarPlane) { tbMatrix mResult; // D3DX-Funktion benutzen D3DXMatrixPerspectiveFovLH((D3DXMATRIX*)(&mResult), fFOV, fAspect, fNearPlane, fFarPlane); return mResult; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
bool projection_matrix_d3d (D3DMATRIX *matrix_, float fov, float aspect, float nearPlane, float farPlane) { if (fabs(farPlane - nearPlane) < 0.01f) return (false); if (fabs(sin(fov / 2)) < 0.01f) return (false); float temp = farPlane / (farPlane - nearPlane); ZeroMemory(matrix_, sizeof(D3DMATRIX)); (*matrix_)._11 = aspect * (cosf(fov / 2) / sinf(fov / 2)); (*matrix_)._22 = 1.0f * (cosf(fov / 2) / sinf(fov / 2)); (*matrix_)._33 = temp; (*matrix_)._34 = 1.0f; (*matrix_)._43 = -temp * nearPlane; return (true); } |
Zitat von »"Patrick"«
...bisher 86 verschiedene berechnungen für OpenGL und DX...
Administrator
Zitat von »"Patrick"«
C-/C++-Quelltext
1 2 3 4 5 (*matrix_)._11 = aspect * (cosf(fov / 2) / sinf(fov / 2)); (*matrix_)._22 = 1.0f * (cosf(fov / 2) / sinf(fov / 2)); (*matrix_)._33 = temp; (*matrix_)._34 = 1.0f; (*matrix_)._43 = -temp * nearPlane;
Werbeanzeige