Маятник : Создание окна

Задача создания окна, в общем случае, является платформозависимой.

Можно пойти другим путём и спользовать одну из кроссплатформенных библиотек. Это позволит избежать необходимости изучения особенностей реализации оконной системы отдельных платформ и повысит переносимость созданной программы.

Будем использовать кроссплатформенную библиотеку GLFW.

Проект программы

Файл CMakeLists.txt:

cmake_minimum_required(VERSION 3.1)

project(window
    VERSION 0.1
    LANGUAGES CXX)

find_package(glfw3 REQUIRED)
find_package(OpenGL REQUIRED)

add_executable(${PROJECT_NAME} main.cpp)

target_link_libraries(${PROJECT_NAME} glfw OpenGL::GL)

Код программы

Файл main.cpp:

#include <GLFW/glfw3.h>

static GLFWwindow *window = nullptr;

void frame()
{
    glClear(GL_COLOR_BUFFER_BIT);

    glfwSwapBuffers(window);

    glfwPollEvents();
}

int main()
{
    if (!glfwInit())
    {
        return 1;
    }

    window = glfwCreateWindow(600, 600, "Маятник: Создание окна", nullptr, nullptr);
    if (!window)
    {
        return 2;
    }

    glfwMakeContextCurrent(window);

    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

    while (!glfwWindowShouldClose(window))
    {
        frame();
    }

    glfwTerminate();

    return 0;
}

Запуск программы

При запуске программа создает окно квадратной формы закрашенное чёрным фоном.