#ifndef ENGINE_H #include // WINDOW CONFIGURATION #define WINDOW_WIDTH (1920) #define WINDOW_HEIGHT (1080) #define WINDOW_FPS (30) // CAMERA CONFIGURATION #define CAMERA_FOV (90.0f) #define CAMERA_NEAR_CLIP (5.0f) #define CAMERA_FAR_CLIP (600.0f) // GEOMETRY CONFIGURATION #define FACE_LIMIT (30000) #define MATERIAL_LIMIT (5) #define TEXTURE_SIZE_LIMIT (1024) #define VERTEX_LIMIT (20000) // 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, SCALE_DOWN }; // STRUCTURES struct Engine_Buffer { uint32_t *buffer; float zbuffer[WINDOW_HEIGHT][WINDOW_WIDTH]; int width; int height; }; // FUNCTIONS int Engine_Init(char *objFilename, char *mtlFilename); void Engine_Render(Engine_Buffer &buffer, uint32_t input); void Engine_Shutdown(void); #define ENGINE_H #endif