Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
- Nothing yet!
0.5.1 - 2026-10-25
Fixed
- Viewports follow the back buffer when
ApplyChanges()resizes it.
0.5.0 - 2026-10-10
Added
GetBoundingFrustum3D(nearPlaneDistance, farPlaneDistance), the frustum of the 3D view and projection.
Changed
DensityViewport.Ratiois read only.
Fixed
- Setting
DensityViewport.TargetWidthorTargetHeighttakes effect right away instead of on the next window resize. - Split viewports that share an edge no longer leave a 1 pixel gap between them.
0.4.1 - 2026-01-06
Fixed
- The KNI build is published as
Apos.Camera.KNI.
0.4.0 - 2026-01-06
Added
- A KNI build.
Changed
- Targets
net8.0instead ofnetstandard2.0. - Depends on MonoGame.Extended 5.3.1.
0.3.2 - 2021-12-11
Fixed
- Setting
XYZupdatesX,Y, andXY.
0.3.1 - 2021-05-25
Changed
FocalLengthcan’t go below 0.01.
Fixed
ScaleToZreturns the right depth whentargetZisn’t 0.ScaleToZandZToScalereturnfloat.MaxValueinstead of 0 when they would divide by zero.
0.3.0 - 2021-05-05
Added
FocalLength.GetView3D()andGetProjection3D(nearPlaneDistance, farPlaneDistance)for drawing in 3D.GetProjection(), the orthographic projection of the viewport.
Changed
ScaleToZandZToScaletake the focal length into account.
0.2.4 - 2021-04-17
Fixed
- NuGet packaging.
0.2.3 - 2021-04-11
Fixed
GetViewRectcovers the whole view when the camera is rotated.GetViewRect(z)useszinstead of always measuring at 0.
0.2.2 - 2021-04-02
Added
ViewRect,GetViewRect(z), andGetBoundingFrustum(z).- Depends on MonoGame.Extended.
Changed
Camerano longer takes aGraphicsDevice.zis optional onWorldToScreenandScreenToWorld.- The camera’s position is the center of the view again.
Fixed
DensityViewportis centered on its virtual size.
0.2.1 - 2021-03-30
Fixed
DefaulViewportis renamed toDefaultViewport.
0.2.0 - 2021-03-29
Added
SplitViewport, a viewport that covers any fraction of the window.WorldToScreenScale(z).
Changed
- The camera’s position is the top left of the view instead of its center.
Removed
HalfViewport. ASplitViewportcovering half the window replaces it.
Fixed
ScreenToWorldScale(z)useszinstead of the camera’s own depth.
0.1.1 - 2021-03-29
Added
- Everything!