Einzelnen Beitrag anzeigen

.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#1

[DirectX] FOVY/Sichtfeld berechnen

  Alt 18. Mai 2008, 20:48
Hi, also ich habe schon wieder ein Problem. Ich muss für meine 2DEngine die Fläche berechnen, die von der Kamera gezeigt wird. Habe nun im Internet nach allem möglichen gesucht, Sinus, Kosinus, Tangens...ich konnte einfach keine Lösung dafür finden.
Delphi-Quellcode:
  D3DXMatrixPerspectiveFovLH(Mat, [b]1[/b], Parent.Width / Parent.Height, 1, 0);
  Parent.Device.SetTransform(D3DTS_PROJECTION, Mat);
Delphi-Quellcode:
  D3DXMatrixLookAtLH(Mat, D3DXVector3(Position.X, Position.Y, [b]-ZoomY[/b]), D3DXVector3(Position.X, Position.Y, 0), D3DXVector3(0, 1, 0));
  Parent.Device.SetTransform(D3DTS_VIEW, Mat);
So setze ich bisher die Kamera. Dabei dachte ich eigentlich, dass wenn ich FOVY auf 1 setze, dann mit einer Kameraentfernung von 1 auch eine Vertikale Fläche mit der Höhe 1 gezeigt wird. Dem ist aber nicht so.

Also FOVY ist ja der Winkel im Bogenmaß, dh Alpha/180*PI. Aber wie ich nun damit berechne wie weit meine Kamera vom Objekt entfernt sein muss, um die bei ZoomY angezeigt Fläche abzudecken weiss ich nicht. Kann mir das bitte wer sagen? ^^ Ist sonst etwas schwer die Kamera genau einzustellen

Grüße, chicken
  Mit Zitat antworten Zitat