part of code:
glfwSetErrorCallback(error_callback);
if (!glfwInit())
{
wprintf(L"Failed to initialize GLFW\n");
return false;
}
glfwWindowHint(GLFW_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
glfwWindowHint(GLFW_DECORATED, GL_FALSE);
GLFWmonitor* primary = glfwGetPrimaryMonitor();
const GLFWvidmode* mode = glfwGetVideoMode(primary);
g_mainWnd = glfwCreateWindow(getMainWndW(), getMainWndH(), "Simple example", NULL, NULL);
if (!g_mainWnd)
{
glfwTerminate();
return false;
}
glfwMakeContextCurrent(g_mainWnd);
glewExperimental = true; // Needed for core profile
// before glew init, need make context current;
if (glewInit() != GLEW_OK)
{
wprintf(L"Failed to initialize GLEW\n");
deinit();
return false;
}
glfwSwapInterval(1);
glfwSetKeyCallback(g_mainWnd, key_callback);
glfwSetCharModsCallback(g_mainWnd, charmods_callback);
glfwSetFramebufferSizeCallback(g_mainWnd, resize_callback);
glfwSetMouseButtonCallback(g_mainWnd, mouse_button_callback);
glfwSetCursorPosCallback(g_mainWnd, cursor_position_callback);
glfwSetScrollCallback(g_mainWnd, scroll_callback);
glfwSetWindowRefreshCallback(g_mainWnd, refresh_callback);
glfwSetInputMode(g_mainWnd, GLFW_STICKY_KEYS, GL_TRUE);
glfwSetInputMode(g_mainWnd, GLFW_STICKY_MOUSE_BUTTONS, GL_TRUE);
glfwIconifyWindow(g_mainWnd);