GLFW. Скелет OpenGL приложения со сглаживанием
В это уроке вы научитесь создавать приложения с использованием OpenGL в связке с библиотекой GLFW, предназначенной для создания оконных приложений, позволяющая быстро реализовывать поддержку OpenGL 3.2.Перейдем к созданию скелета GLFW-приложения с полноэкранным сглаживанием.
В чем главные преимущества библиотеки GLFW?
- она постоянно совершенствуется и поддерживается, по сравнению даже с Freeglut, который давненько не обновляется (за исключением последнего обновления связанного с multitouch), об этом свидетельствует дата релиза последней версии GLFW;
- кроссплатформенность;
- простота и доступность в использовании, и частично напоминает старый добрый glut;
- встроенная возможность загружать TGA изображения и удобные функции установки текстуры;
- можно пролинковать статически.
Код:
|
Некоторые моменты по коду:
- glfwOpenWindowHint (GLFW_FSAA_SAMPLES, 4) - установка количества образцов, которые будут использованы в мультисэмплинг буфере для просчета сглаживания. Чем выше количество, тем лучше качество сглаживания. Но в то же время чем больше образцов, тем больше накладных ресурсов памяти для буферов, которые могут снизить производительность.
- int glfwOpenWindow (int width, int height, int redbits, int greenbits, int bluebits, int alphabits, int depthbits, int stencilbits, int mode) - здесь все просто, мы передаем нужные параметры для открытия окна, но некоторые параметры у меня были переданы нулем. Это сделано для того, чтобы GLFW использовала параметры по умолчанию.
- glfwGetKey(GLFW_KEY_ESC) - опрос клавиши Escape, если клавиша нажата, функция вернет 1, если нет, то 0.
Не забудьте пролинковать GLFW-библиотеку, либо локально, положив в тот же каталог, что и проект, и указав линкеру имя. Либо же поместив в глобальные пути вашей среды разработки, также указав имя линкеру. Также пролинкуйте OpenGL и GLU библиотеки (рис. 1).
Рисунок 1. Линкование GLFW, OpenGL и GLU.
После удачной сборки и запуска можно понажимать влево и вправо, чтобы повращать четырехугольник.