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
Zitat von »"RettetdemDativ"«
Dann werd ich mich mal mit den Transfmatritzen usw. beschaeftigen.
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
D3DVIEWPORT9 lala; lala.X=0; lala.Y=0; lala.Width=1680; lala.Height=1050; lala.MinZ =0.0f; lala.MaxZ = 1.0f; test->SetViewport(&lala); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
D3DXMATRIX mProjection; float fFOV = D3DX_PI * 0.25f; float fAspect = Width/Height; float fNearPlane = 1.0f; float fFarPlane = 1000.0f; D3DXMatrixPerspectiveFovLH( &mProjection, fFOV, fAspect, fNearPlane, fFarPlane ); pDevice->SetTransform(D3DTS_PROJECTION, &mProjection); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
D3DXMATRIX myProjektionsmatrix() { D3DXMATRIX temp; ZeroMemory(&temp, sizeof(temp)); const float near_plane=0.1f; // Distance to near clipping // plane const float far_plane=100.0f; // Distance to far clipping // plane const float fov_horiz=90.0f; // Horizontal field of view // angle, in radians const float fov_vert=90.0f; // Vertical field of view // angle, in radians float Q = far_plane/(far_plane - near_plane); temp(0, 0) = static_cast<float>(1/tan(fov_horiz/2)); // w temp(1, 1) = static_cast<float>(1/tan(fov_vert/2)); // h temp(2, 2) = Q; temp(3, 2) = -Q*near_plane; temp(2, 3) = 1; return temp; } |
Zitat von »"RettetdemDativ"«
Aber was passiert mit FOV in X-Richtung?
Zitat von »"RettetdemDativ"«
Und was ist da der Unterschied zwischen left und right handed?
Werbeanzeige