2018-09-05 01:50:14 +00:00
|
|
|
#ifndef ENGINE_H
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
|
2018-09-19 01:19:13 +00:00
|
|
|
// CONSTANTS
|
|
|
|
#define WINDOW_WIDTH (1920)
|
|
|
|
#define WINDOW_HEIGHT (1080)
|
|
|
|
#define WINDOW_FPS (30)
|
|
|
|
|
|
|
|
|
2018-09-05 01:50:14 +00:00
|
|
|
// ENUMS
|
|
|
|
enum Engine_Input
|
|
|
|
{
|
|
|
|
TRANSLATE_X_POS,
|
|
|
|
TRANSLATE_X_NEG,
|
|
|
|
TRANSLATE_Y_POS,
|
|
|
|
TRANSLATE_Y_NEG,
|
|
|
|
TRANSLATE_Z_POS,
|
|
|
|
TRANSLATE_Z_NEG,
|
|
|
|
ROTATE_X_POS,
|
|
|
|
ROTATE_X_NEG,
|
|
|
|
ROTATE_Y_POS,
|
|
|
|
ROTATE_Y_NEG,
|
|
|
|
ROTATE_Z_POS,
|
|
|
|
ROTATE_Z_NEG,
|
|
|
|
SCALE_UP,
|
2018-09-14 02:19:59 +00:00
|
|
|
SCALE_DOWN
|
2018-09-05 01:50:14 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// STRUCTURES
|
|
|
|
struct Engine_Buffer
|
|
|
|
{
|
2018-09-07 01:32:15 +00:00
|
|
|
uint32_t *buffer;
|
2018-09-19 01:19:13 +00:00
|
|
|
float zbuffer[WINDOW_HEIGHT][WINDOW_WIDTH];
|
2018-09-05 01:50:14 +00:00
|
|
|
int width;
|
|
|
|
int height;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// FUNCTIONS
|
2018-09-15 01:46:30 +00:00
|
|
|
int Engine_Init(Engine_Buffer &buffer, char *objFilename, char *mtlFilename);
|
2018-09-05 01:50:14 +00:00
|
|
|
void Engine_Render(Engine_Buffer &buffer, uint32_t input);
|
|
|
|
void Engine_Shutdown(void);
|
|
|
|
|
|
|
|
|
|
|
|
#define ENGINE_H
|
|
|
|
#endif
|
|
|
|
|