/*********************************************************************
*                                                                    *          
*                              FLY                                   *
*                           --E#Y#E--				     *
*                         ===MUSCLE===                               *
*                                                                    *
*********************************************************************/
#ifndef FLYBOX_H
#define FLYBOX_H

/* C Header Files */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <fcntl.h>
#include <unistd.h>
#include <math.h>
/* OpenGL */
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glu.h>
#include <GL/glext.h>
#include <GL/glxext.h>
/* Flysimulator */
#include "../TEX/texture.h"
#include "../CONF/config.h"
#include "../CONF/uniform.h"
#include "../CONF/geometry.h"

/*-------------------------------------------------------------------------*/

enum FLYBOX_SIDES {
        SS_NORTH = 0,
        SS_EAST,
        SS_SOUTH,
        SS_WEST,
        SS_TOP,
        SS_BOTTOM,
        SS_MAX_SIDES
};

/*-------------------------------------------------------------------------*/

/* Flybox */
void textureLoader();
void MipmapsImage2(const GLint count, int side3, GLubyte *pixel);
char initBox();

/* Render BOX */
void vertexBox(); 
void renderBox(); 
void render(float x, float y, float z, unsigned int s_basicProgram);

/*-------------------------------------------------------------------------*/

#endif

