[c++] OpenGL에서의 2D 그래픽

OpenGL은 강력한 그래픽 라이브러리로 2D 및 3D 그래픽을 렌더링하는 데 사용됩니다. 2D 그래픽을 렌더링하기 위해 기본적인 OpenGl 초기화 및 도형 렌더링 방법을 소개하겠습니다.

OpenGL 초기화

GLFW나 SDL과 같은 라이브러리를 사용하여 OpenGL을 초기화합니다. 초기화 후에는 OpenGL 컨텍스트를 설정하고 화면을 지울 색상을 지정합니다.

예제 코드

#include <GLFW/glfw3.h>

int main() {
    // Initialize GLFW
    glfwInit();
    // Create a window
    GLFWwindow* window = glfwCreateWindow(800, 600, "2D Graphics", NULL, NULL);
    // Make the window's context current
    glfwMakeContextCurrent(window);
    
    // Set the clear color
    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
    // ...

    // Main loop
    while (!glfwWindowShouldClose(window)) {
        // Render
        glClear(GL_COLOR_BUFFER_BIT);
        
        // Swap buffers and poll events
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    
    // Terminate GLFW
    glfwTerminate();
    return 0;
}

2D 도형 렌더링

OpenGl을 사용하여 2D 도형을 렌더링하려면 정점 및 프래그먼트 셰이더를 작성해야합니다. 이러한 셰이더는 도형을 정의하고 해당 색상을 지정합니다.

예제 코드

// Vertex shader
const char* vertexShaderSource = R"(
    #version 330 core
    layout (location = 0) in vec3 aPos;
    void main() {
        gl_Position = vec4(aPos.x, aPos.y, 0.0, 1.0);
    }
)";

// Fragment shader
const char* fragmentShaderSource = R"(
    #version 330 core
    out vec4 FragColor;
    void main() {
        FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);
    }
)";

마치며

위에서 소개한 방법을 사용하여 OpenGL을 사용하여 2D 그래픽을 렌더링할 수 있습니다. OpenGL을 활용하여 게임 또는 시각화 애플리케이션과 같은 다양한 그래픽 애플리케이션을 개발할 수 있습니다.

레퍼런스: