В библиотеке SDL2 для рисования примитивов доступна функция SDL_RenderDrawPoint для рисования точки, SDL_RenderDrawLine - для рисования линии, SDL_RenderDrawRect - для рисования прямоугольника, и SDL_RenderDrawCircle - для рисования круга.
Кроме того, для удобства работы с примитивами, можно использовать структуру SDL_Rect для определения прямоугольных областей, и структуру SDL_Point для определения точек.
Для начала работы с примитивами в SDL2 нужно выполнить несколько шагов:
1. Инициализировать систему рендеринга SDL2. Для этого нужно вызвать функцию SDL_Init с передачей ей флага SDL_INIT_VIDEO.
SDL_Init(SDL_INIT_VIDEO);
2. Создать окно и поверхность рендеринга. Для этого нужно вызвать функцию SDL_CreateWindow для создания окна и функцию SDL_CreateRenderer для создания поверхности рендеринга.
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);
3. Очистить поверхность рендеринга. Для этого нужно вызвать функцию SDL_RenderClear.
SDL_RenderClear(renderer);
4. Нарисовать примитивы. Для каждого примитива необходимо вызвать соответствующую функцию для его рисования.
Примеры рисования различных примитивов:
// Рисование точки 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); }
5. Обновить поверхность рендеринга. Для этого нужно вызвать функцию SDL_RenderPresent.
SDL_RenderPresent(renderer);
6. Завершить работу с SDL2. Для этого нужно освободить память, занятую окном и поверхностью рендеринга, а также вызвать функцию SDL_Quit.
SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit();
Таким образом, используя функции рисования примитивов и следуя указанным выше шагам, вы сможете создавать и отображать различные простые фигуры с помощью библиотеки SDL2.