§ Структура
Этот шаблон является просто пустой болванкой, программа которой ничего не делает, кроме как просто вызывает метод frame() для рисования пустого экрана.Скачать шаблон в формате ZIP
§ Код main.cc
#include <SDL2/SDL.h> #include <GL/gl.h> void frame() { glClearColor(0, 0, 0.2, 1); glClear(GL_COLOR_BUFFER_BIT); } int main(int argc, char** argv) { SDL_Init(SDL_INIT_EVERYTHING); SDL_Window* window; SDL_GLContext context; SDL_Event event; int wc = SDL_WINDOWPOS_CENTERED; int wo = SDL_WINDOW_OPENGL; window = SDL_CreateWindow("OpenGL World", wc, wc, 1280, 800, wo); context = SDL_GL_CreateContext(window); uint32_t pticks = 0; for (;;) { while (SDL_PollEvent(& event) != 0) { if (event.type == SDL_QUIT) { SDL_GL_DeleteContext(context); SDL_DestroyWindow(window); return 0; } } Uint32 nticks = SDL_GetTicks(); // Обновление 60 раз в секунду if (nticks - pticks >= 16) { pticks = nticks; frame(); SDL_GL_SwapWindow(window); } else { SDL_Delay(1); } } }
§ makefile/main.cc
all:
g++ main.cc -lSDL2 -lGL -o main
./main