В библиотеке SDL2 для рисования примитивов доступна функция SDLRenderDrawPoint для рисования точки, SDLRenderDrawLine - для рисования линии, SDLRenderDrawRect - для рисования прямоугольника, и SDLRenderDrawCircle - для рисования круга.
Кроме того, для удобства работы с примитивами, можно использовать структуру SDLRect для определения прямоугольных областей, и структуру SDLPoint для определения точек.
Для начала работы с примитивами в SDL2 нужно выполнить несколько шагов:
- Инициализировать систему рендеринга SDL2. Для этого нужно вызвать функцию SDLInit с передачей ей флага SDLINIT_VIDEO.
SDL_Init(SDL_INIT_VIDEO);
- Создать окно и поверхность рендеринга. Для этого нужно вызвать функцию SDLCreateWindow для создания окна и функцию SDLCreateRenderer для создания поверхности рендеринга.
SDL_Window* window = SDL_CreateWindow("SDL2", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN); SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0);
- Очистить поверхность рендеринга. Для этого нужно вызвать функцию SDL_RenderClear.
SDL_RenderClear(renderer);
- Нарисовать примитивы. Для каждого примитива необходимо вызвать соответствующую функцию для его рисования.
Примеры рисования различных примитивов:
// Рисование точки SDL_RenderDrawPoint(renderer, 100, 100); // Рисование линии SDL_RenderDrawLine(renderer, 0, 0, 800, 600); // Рисование прямоугольника SDL_Rect rect = {100, 100, 200, 100}; SDL_RenderDrawRect(renderer, &rect); // Рисование круга int centerX = 400; int centerY = 300; int radius = 50; for (int i = 0; i <= 360; i += 10) { int x = centerX + radius * cos(i * M_PI / 180); int y = centerY + radius * sin(i * M_PI / 180); SDL_RenderDrawPoint(renderer, x, y); }
- Обновить поверхность рендеринга. Для этого нужно вызвать функцию SDL_RenderPresent.
SDL_RenderPresent(renderer);
- Завершить работу с SDL2. Для этого нужно освободить память, занятую окном и поверхностью рендеринга, а также вызвать функцию SDL_Quit.
SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit();
Таким образом, используя функции рисования примитивов и следуя указанным выше шагам, вы сможете создавать и отображать различные простые фигуры с помощью библиотеки SDL2.