// Copyright 2024 SquareBlock Inc. All Rights Reserved. // Author: tianlei.richard@qq.com (tianlei.richard) #include "common.h" class Camera { public: explicit Camera(const Vector3d &up); explicit Camera(const Vector3d &up, const float camera_speed); public: TransformMatrix get_view_transform() const; public: void move(const Point3d &offset); void set_gaze(const Vector3d &gaze); private: Point3d position_; Vector3d gaze_; Vector3d up_; float camera_speed_; };