Действия

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;
}