couch/core/Camera.h

48 lines
1.1 KiB
C
Raw Permalink Normal View History

2021-01-26 23:28:20 -06:00
/**
@file
@author Dane Johnson <dane@danejohnson.org>
@section LICENSE
Couch Copyright (C) 2021 Dane Johnson
This program comes with ABSOLUTELY NO WARRANTY; without event the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for details at
https://www.gnu.org/licenses/gpl-3.0.html
This is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3 of the License,
or (at your option) any later version.
@section DESCRIPTION
This file defines the cameras that can be used to render the scene
*/
2021-01-13 16:47:16 -06:00
#ifndef CAMERA_H
#define CAMERA_H
2021-01-26 23:28:20 -06:00
#include "Spatial.h"
2021-01-13 16:47:16 -06:00
2021-01-26 23:28:20 -06:00
/**
The common 3D camera
*/
class Camera : public Spatial {
2021-01-13 16:47:16 -06:00
public:
Camera();
2021-01-26 23:32:36 -06:00
/**
Sets this camera as the one that Couch will use to render
*/
2021-01-13 16:47:16 -06:00
void MakeCurrent();
2021-01-26 23:32:36 -06:00
/**
Get the Camera that couch is using to render
@return The camera
*/
2021-01-13 16:47:16 -06:00
static Camera *GetCurrentCamera();
private:
static Camera *currentCamera;
};
#endif /* CAMERA_H */