0) закапываем GLUT, берем GLFW (
www.glfw.org ); если это неприемлемо, отпишитесь в комментариях, сделаем другую инструкцию;
1) берем пример, делаем окно по примеру:
www.glfw.org/documentation.html
2) когда убедились, что окно появляется и все работает, начинаем перетягивать код из урока;
3) вызов кода отрисовки (который DrawGLScene) вставляем вместо /* Render here */;
4) объявления виндовых дескрипторов убираем (HDC, HWND и прочие); windows.h тоже вроде не нужен;
5) для обработки событий клавиатуры читаем вот это:
www.glfw.org/docs/latest/input.html#input_keyboard , для мыши вот это:
www.glfw.org/docs/latest/input.html#input_mouse . По сути все элементарно: устанавливаются колбэки, в которых уже находится код обработки;
6) для того, чтобы адекватно выйти из главного цикла приложения (это тот, который while (!glfwWindowShouldClose(window))) в нужном месте (например, по нажатию ESC) вызываем
glfwSetWindowShouldClose.
Итого WindowProc вам уже не нужна, из WinMain возможно понадобится код инициализации и код обработки клавиатуры нужно будет вынести в колбэк.
Вопросы в комментарии, все сразу не расскажешь.
P.S. Вообще поищите современные туториалы, это OpenGL 2.0, этот API уже никому не нужен, в 3-м OpenGL всю архитектуру перекроили (зачем? Например затем, что вызывать glVertex для каждой вершины - это слишком затратно). Старые уроки вам будут полезны только для общего развития в CG.