#ifndef CORE_VIEW_H
#define CORE_VIEW_H

#include "core/Matrix.h"

typedef struct {
    CoreMatrix view;
    CoreVector3 back;
    CoreVector3 down;
    CoreVector3 front;
    CoreVector3 left;
    CoreVector3 right;
    CoreVector3 up;
} CoreView;

#define CORE_VIEW ((CoreView){0})
void coreUpdateDirections(CoreView* v, float lengthAngle, float widthAngle);
void coreUpdateDirectionsQ(CoreView* v, const CoreQuaternion* q);
CoreMatrix* coreUpdateMatrix(CoreView* v, const CoreVector3* pos);

#endif