// GLFW 초기화
if (!glfwInit()) {
    throw new IllegalStateException("Unable to initialize GLFW");
}

// 윈도우 힌트 (옵션들 설정)
glfwDefaultWindowHints();
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); // 나중에 직접 보이게 할 거라 처음엔 숨김
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); // 창 크기 조절 가능

int width = 1280;
int height = 720;

// 윈도우 생성
window = glfwCreateWindow(width, height, "OpenCraft", NULL, NULL);
if (window == NULL) {
    throw new RuntimeException("Failed to create the GLFW window");
}

// OpenGL 컨텍스트를 현재 스레드에 연결
glfwMakeContextCurrent(window);

// VSync 활성화 (1이면 모니터 주사율에 동기)
glfwSwapInterval(1);

// 윈도우를 화면에 보이게
glfwShowWindow(window);

// OpenGL 함수 사용 준비 (컨텍스트가 있어야 호출 가능)
GL.createCapabilities();

// 깊이 테스트 켜두기 (3D용인데 지금은 영향 거의 없음)
glEnable(GL_DEPTH_TEST);
private void loop() {
    // 메인 루프
    while (!glfwWindowShouldClose(window)) {
        // 배경색 설정 (R, G, B, A)
        glClearColor(0.1f, 0.2f, 0.3f, 0.0f);

        // 컬러 버퍼 + 깊이 버퍼 지우기
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        // TODO: 나중에 여기서 OpenGL로 그림(3D, 블럭 등)을 그릴 거야

        glfwSwapBuffers(window); // 앞/뒤 버퍼 교체
        glfwPollEvents();        // 키보드/마우스/창 이벤트 처리
    }
}