freeglut — это альтернатива библиотеке OpenGL Utility Toolkit (GLUT) с открытым исходным кодом . GLUT (и, следовательно, freeglut) позволяет пользователю создавать и управлять окнами, содержащими контексты OpenGL, на широком спектре платформ, а также считывать функции мыши, клавиатуры и джойстика. freeglut предназначен для полной замены GLUT и имеет лишь несколько отличий.
Поскольку GLUT вошел в стагнацию, freeglut находится в разработке для улучшения инструментария. Он выпущен под лицензией MIT .
freeglut изначально был написан Paweł W. Olszta при участии Andreas Umbach и Steve Baker. После того, как Paweł прекратил работать в сфере 3D-графики, он передал эстафету Стиву Бейкеру. В настоящее время freeglut поддерживают John F. Fay, John Tsiombikas и Diederick C. Niehorster.
Павел начал разработку freeglut 1 декабря 1999 года. Сейчас проект фактически на 100 % заменяет оригинальный GLUT, имея лишь несколько отличий (таких как отказ от специфичных для SGI функций, таких как Dials&Buttons box и Dynamic Video Resolution) и сокращающийся набор ошибок.
freeglut содержит несколько улучшений по сравнению с оригинальным GLUT, но в соответствии с политикой компании никаких дополнительных существенных функций добавляться не будет.
В апреле 2015 года freeglut получил первоначальную поддержку нового протокола сервера отображения Wayland . [1]
Некоторые члены команды freeglut, которые хотели добавить функции, разветвили код, чтобы создать OpenGLUT .
Разработка OpenGLUT была прекращена в мае 2005 года; последний релиз OpenGLUT-0.6.3 вышел в марте 2005 года.
freeglut теперь очень стабилен и имеет меньше ошибок, чем оригинальный GLUT . Однако есть места, где оригинальная спецификация GLUT не указывала, в каком порядке происходят такие вещи, как обратные вызовы, и прикладные программы, работающие под GLUT, могут терпеть неудачу под freeglut, поскольку они предполагают что-то, что GLUT никогда не гарантировал.
Периодически появляются новые ревизии; однако, поскольку сейчас он достаточно стабилен и никаких новых функций не планируется, эти обновления требуются все реже и реже. Это изменилось бы, если бы когда-нибудь вышел новый релиз GLUT.
В некоторых дистрибутивах Linux вместо GLUT распространяется freeglut. Поскольку он совместим на двоичном уровне, программы, скомпилированные для GLUT, можно без проблем связать с freeglut.