Beispiel #1
0
static __attribute__((noreturn)) void StartModel()
{
    const int screenHeight  = 768;
    const int screenWidth   = 1024;
    const bool singleStep   = Options.singleStep;
    Model_Map map;

    if (Renderer_Init(screenWidth, screenHeight) != Renderer_SUCCESS) //TODO: move this up a level
    {
        printf(Renderer_GetLastError());
        exit(1);
    }
    LoadConfiguration();

    Model_Map_Init(&map, Options.mapWidth, Options.mapHeight);
    Model_Init(&map);

    MapRenderer_StartScene(&map, screenWidth, screenHeight);
    while(!InputHandler_ExitRequested())
    {
        if(!singleStep || InputHandler_NextStepRequested())
        {
            Model_Next();
            Model_GraphIteration();
        }
        MapRenderer_DrawMap();
    }
    MapRenderer_EndScene();
    Model_Map_Free(&map);
    Model_Free();
    Renderer_Quit();//TODO: move this up a level
    exit(0);
}
Beispiel #2
0
void Game_Init()
{
	InputHandler_Init();

	Shaders_Init(MAX_SHADERS);
	Model_Init(MAX_MODELS);
	Transform_Init(MAX_TRANSFORMS);
	Camera_Init(MAX_CAMERAS);

	game_object_list = (struct GameObject *)malloc(MAX_GAME_OBJECTS * sizeof(struct GameObject));
	camera_object_list = (struct CameraObject *)malloc(MAX_CAMERAS * sizeof(struct CameraObject));
	num_objects = 0;
	num_cams = 0;

	struct ShaderPair simple_shader_pair[2] = { [0].shader_source = "Shaders/vertex_shader.glsl", [0].shader_type = GL_VERTEX_SHADER, [1].shader_source = "Shaders/fragment_shader.glsl", [1].shader_type = GL_FRAGMENT_SHADER };