namespace Engine.Core; /// /// Represents a 3D camera in the engine. /// public interface ICamera3D : IBehaviour3D { /// /// Field of View (FOV) value of the camera /// float FieldOfView { get; set; } /// /// Converts a position from screen coordinates to a . /// /// The position in screen coordinates. /// The originating from the camera to the screen position in world coordinates. Ray3D ScreenToWorldRay(Vector2D screenPosition); /// /// Converts a position from world coordinates to screen coordinates. /// /// The position in world coordinates. /// The position in screen coordinates. Vector2D WorldToScreenPosition(Vector3D worldPosition); }