#include "../include/app.h" #include #include #include #include #define SHADOWMAP_SIZE 2048 int main() { struct timespec start; struct timespec end; App app; ChunkManager cm; app.cm = &cm; init_app(&app, 1600, 900); ///// while(app.is_running) { clock_gettime(CLOCK_MONOTONIC_RAW, &start); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); handle_events(&app); update_app(&app); set_view(&app.camera); reshape(1600, 900); glMatrixMode(GL_MODELVIEW); for (int i = 0; i < app.cm->chunk_count; i++) { chunk_render(&app.cm->chunks[i]); //printf("c sp: %f\n", app.chunks[i].start_pos.x); } glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0, 1600, 900, 0, -1, 1); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glColor3f(1, 0, 0);//white glLineWidth(2.0); glBegin(GL_LINES); //horizontal line glVertex2i(1600 / 2 - 7, 900 / 2); glVertex2i(1600 / 2 + 7, 900 / 2); glEnd(); //vertical line glBegin(GL_LINES); glVertex2i(1600 / 2, 900 / 2 + 7); glVertex2i(1600 / 2, 900 / 2 - 7); glEnd(); vec3f pos = app.camera.position; vec3f dir = get_camera_dir_vec3f(&app.camera); draw_cube(app.cm, 0, pos.x + dir.x * 2, pos.y + dir.y * 2, pos.z + dir.z * 2, 1.0); SDL_GL_SwapWindow(app.window); clock_gettime(CLOCK_MONOTONIC_RAW, &end); app.frame_time = calc_frame_time(&start, &end); //printf("fps: %f\n", 1000/app.frame_time); //printf("lkat pos x: %f y: %f z: %f\n", pos.x+5*dir.x, pos.y+5*dir.y, pos.z+5*dir.z); //printf("camera x: %f y: %f z: %f\n", pos.x, pos.y, pos.z); //printf("dir x: %f y: %f z: %f\n", dir.x, dir.y, dir.z); //printf("dird x: %f y: %f z: %f\n", app.camera.rotation.x, app.camera.rotation.y, app.camera.rotation.z); } return 0; }