-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCamera.cpp
More file actions
25 lines (22 loc) · 774 Bytes
/
Camera.cpp
File metadata and controls
25 lines (22 loc) · 774 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "glm.hpp"
#include "Camera.hpp"
#include "Renderer.hpp"
Camera::Camera( std::string aName, glm::vec3 aPosition )
: GameObject(aName, aPosition )
{
glm::vec3 eye = aPosition;
glm::vec3 at ( 0.0f, 1.0f, 0.0f );
glm::vec3 up ( 0.0f, 1.0f, 0.0f );
transform = glm::inverse( glm::lookAt( eye, at, up ) );
projection = glm::perspective( 60.0f, 16.0f/9.0f, 0.1f, 100.0f );
}
Camera::~Camera()
{
//dtor
}
void Camera::draw( Renderer * renderer, glm::mat4 parentTransform )
{
//std::cout << "Camera sets View " << std::endl << transform << std::endl;
renderer->setProjection( projection ); // model = cam to worldspace so inverse for world->camspace
renderer->setView( glm::inverse( transform ) ); // model = cam to worldspace so inverse for world->camspace
}