[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을 활용하여 게임 또는 시각화 애플리케이션과 같은 다양한 그래픽 애플리케이션을 개발할 수 있습니다.
레퍼런스: