int init(int width, int height) { //Initialize SDL if (SDL_Init(SDL_INIT_VIDEO) < 0) { printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); return 1; } //Create window SDL_CreateWindowAndRenderer(SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN, &window, &renderer); //set up screen pixel buffer create_renderer(&pb, SCREEN_WIDTH, SCREEN_HEIGHT); //set up vector ball pixel buffer create_renderer(&vb, VECTOR_BALL_WIDTH, VECTOR_BALL_HEIGHT); //set up screen texture screen = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, pb.width, pb.height); //set up vector_ball texture vector_ball = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STATIC, vb.width, vb.height); if (window == NULL) { printf ("Window could not be created! SDL_Error: %s\n", SDL_GetError()); return 1; } //SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); // make the scaled rendering look smoother. //SDL_RenderSetLogicalSize(renderer, SCREEN_WIDTH, SCREEN_HEIGHT); if (screen == NULL) { printf ("Texture could not be created! SDL_Error: %s\n", SDL_GetError()); return 1; } if (pb.pixels == NULL) { printf ("Error allocating pixel buffer"); return 1; } if (vb.pixels == NULL) { printf ("Error allocating pixel buffer"); return 1; } return 0; }
// ----------------------- // SDL2 specific methods // ----------------------- void GraphicsSDL::create_game_window(bool fullscreen) { RecreateWindow(fullscreen); create_renderer(); create_screen_surface(); create_screen_tex(); }
int main(void) { t_global_data d; set_env(&d); create_renderer(&d); init_view(&d, &d.view); init_world(&d.world, 1000); SDL_ShowCursor(0); main_loop(&d); SDL_ShowCursor(1); return (0); }
int main(int ac, char *av) { SDL_Window *window; SDL_Renderer *renderer; create_win_context(&window, "DAT PoONG", 640, 480); create_renderer(&renderer, &window); if (load_splash(renderer, "pong.png") == 1) { SDL_DestroyRenderer(renderer); renderer = SDL_CreateRenderer(window, 0, SDL_RENDERER_ACCELERATED); wait_event(renderer); } //wait_event(renderer); destroy_SDL(renderer, &window); pong_calc(ac, av); return (0); }
int init(int width, int height) { //Initialize SDL if (SDL_Init(SDL_INIT_VIDEO) < 0) { printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); return 1; } //Create window SDL_CreateWindowAndRenderer(SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN, &window, &renderer); //set up screen texture screen = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2); //set up colour_map = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, 256, 1); //set up cool_map = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2); //set up colour_map ball pixel buffer create_renderer(&cm, 256, 1); //set up screen pixel buffer create_renderer(&pb, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2); //set up fire pixel buffer create_renderer(&fire, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2); //set up cool map pixel buffer create_renderer(&cool, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2); if (window == NULL) { printf ("Window could not be created! SDL_Error: %s\n", SDL_GetError()); return 1; } if (screen == NULL) { printf ("texture could not be created! SDL_Error: %s\n", SDL_GetError()); return 1; } if (colour_map == NULL) { printf ("texture could not be created! SDL_Error: %s\n", SDL_GetError()); return 1; } if (cool_map == NULL) { printf ("texture could not be created! SDL_Error: %s\n", SDL_GetError()); return 1; } if (cm.pixels == NULL) { printf ("pixel buffer could not be created!"); return 1; } if (pb.pixels == NULL) { printf ("pixel buffer could not be created!"); return 1; } if (fire.pixels == NULL) { printf ("pixel buffer could not be created!"); return 1; } if (cool.pixels == NULL) { printf ("pixel buffer could not be created!"); return 1; } //SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); // make the scaled rendering look smoother. //SDL_RenderSetLogicalSize(renderer, SCREEN_WIDTH, SCREEN_HEIGHT); return 0; }