62 lines
1.0 KiB
C++
62 lines
1.0 KiB
C++
#ifndef ENGINE_H
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
// 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 (10)
|
|
#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
|
|
|