Esempio n. 1
0
int main(int argc, char **argv) {
  int i;
  
  for(i = 1; i < argc; ++i)
    if (argv[i][0] != '-') {
    id = atoi(argv[i]);
    break;
  }

  carmen_ipc_initialize(argc, argv);
  carmen_velodyne_subscribe_pointcloud_message(NULL,
    (carmen_handler_t)velodyne_pointcloud_handler, CARMEN_SUBSCRIBE_ALL);

  signal(SIGINT, velodyne_sigint_handler);
  atexit(velodyne_finalize);

  pthread_create(&thread, 0, velodyne_listen, 0);

  gl_initialize(argc, argv);

  gl_clear_color(1.0, 1.0, 1.0);
  gl_clip(0.1, 60.0);
  gl_camera(0.0, 0.0, 0.0, 0.0, 89.0, 20.0);

  gl_loop();
  
  while (!pointclouds.empty()) {
    velodyne_pointcloud_free(&pointclouds.front());
    pointclouds.pop_front();
  }
  
  return 0;
}
Esempio n. 2
0
File: view.c Progetto: prophile/dim3
bool view_initialize_display(char *err_str)
{
		// is screen size legal?
		
	if (view_search_screen_size_list(setup.screen_wid,setup.screen_high)==-1) {
		setup.screen_wid=640;
		setup.screen_high=480;
	}
	
		// start openGL
		
	if (!gl_initialize(setup.screen_wid,setup.screen_high,setup.lock_fps_refresh,setup.fsaa_mode,FALSE,err_str)) {
		view_memory_release();
		SDL_Quit();
		return(FALSE);
	}

		// fix some OpenGL settings if not supported by card

	if (!gl_check_fsaa_ok()) setup.fsaa_mode=fsaa_mode_none;
	if (!gl_check_texture_compress_ok()) setup.texture_compression=FALSE;
	if (!gl_check_texture_anisotropic_filter_ok()) setup.anisotropic_mode=anisotropic_mode_none;
	
		// start the shaders
		
	read_settings_shader();
	if (!gl_shader_initialize(err_str)) {
		gl_shutdown();
		SDL_Quit();
		return(FALSE);
	}

		// initialize text
	
	gl_text_initialize();
	
		// back renderer
		
	if (!gl_back_render_initialize(err_str)) {
		gl_text_shutdown();
		gl_shutdown();
		view_memory_release();
		SDL_Quit();
		return(FALSE);
	}

		// shadows

	if (!shadow_initialize(err_str)) {
		gl_back_render_shutdown();
		gl_text_shutdown();
		gl_shutdown();
		view_memory_release();
		SDL_Quit();
		return(FALSE);
	}

		// vertex objects
	
	view_create_vertex_objects();

	return(TRUE);
}