SDL
Материал из lulzette's wiki
офк сначала мы подключаем библиотеку
#include <SDL2/SDL.h>
затем инициализируем
SDL_Init(SDL_INIT_EVERYTHING)
если возвращает 0 то ок, иначе жепа
Сначала создаем окно:
SDL_Window *win = SDL_CreateWindow(<название>, 100, 100, <ширина окна>, <высота окна>, SDL_WINDOW_SHOWN)
Затем создаем рендерер
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC)
Чтобы отрендерить пикчу необходимо загрузить ее в оперативку а потом в видюху, первый этап выполняется с помощью SDL_LoadBMP, возвращает SDL_Surface который мы отправляем в SDL_Texture
#include <SDL2/SDL.h>
#include <iostream>
const int ScreenWidth = 800;
const int ScreenHeight = 600;
int main()
{
//sdl init
if (SDL_Init(SDL_INIT_EVERYTHING) != 0)
std::cout << "err" << SDL_GetError() << std::endl;
//window init
SDL_Window *win = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
//renderer init
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
SDL_Surface *bmp = SDL_LoadBMP("test.bmp");
SDL_Texture *tex = SDL_CreateTextureFromSurface(ren, bmp);
SDL_FreeSurface(bmp);
SDL_RenderClear(ren);
SDL_RenderCopy(ren,tex,NULL,NULL);
SDL_RenderPresent(ren);
SDL_Delay(5000);
SDL_DestroyTexture(tex);
SDL_DestroyRenderer(ren);
SDL_DestroyWindow(win);
SDL_Quit();
return 0;
}