// BlockyFroggy
// Copyright © 2017 John Ryland.
// All rights reserved.
#pragma once
#ifndef CAMERA_H
#define CAMERA_H
class Camera
{
public:
Camera() {}
~Camera() {}
void build(float fov, float aspect, float rotate[3], float scale, float translateX, float translateY, float translateZ, bool ortho = false);
bool isClipped(float x, float y, float z, float w, float h, float d);
// For debugging, kind of expensive
void calcFrustum(float a_frustumPts[8][4]);
float m_projectionMatrix[16];
float m_cameraMatrix[16];
float m_modelViewProjectionMatrix[16];
float m_clipPlanes[6][4];
};
#endif // CAMERA_H