§ Структура
Этот шаблон является просто пустой болванкой, программа которой ничего не делает, кроме как просто вызывает метод 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();
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