Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 21.12.2019
Сообщений: 10
1

С++ GLUT

19.01.2020, 18:41. Показов 4188. Ответов 33
Метки нет (Все метки)

Актуально ли сейчас изучать GLUT?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2020, 18:41
Ответы с готовыми решениями:

Библиотека glut
Пыталась установить библиотеку glut на Visual Studio 2015. Код не работает.Выдает вот такую ошибку:...

Подключение glut
Всем привет, сегодня начал знакомство c++ и возникли проблемы с подключением библиотеки glut....

NetBeans и GLUT
Здравствуйте, я установил NetBeans IDE C++ и мне нужен GLUT. Я его скачал, но как мне теперь его...

Литература по GLUT
Доброго времени суток! Кто-нибудь может посоветовать литературу по OpenGL и/или GLUT...

33
586 / 818 / 141
Регистрация: 10.08.2015
Сообщений: 4,104
19.01.2020, 19:01 2
нет. он 32бит, это прошлый век
0
1283 / 900 / 479
Регистрация: 05.12.2013
Сообщений: 2,961
19.01.2020, 23:45 3
Лучше GLFW
1
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
20.01.2020, 10:49 4
Лучше SDL: там не только работа с окнами, но и сеть, звук, буфер обмена, шрифты, картинки и прочее.
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
22.01.2020, 16:16 5
Нужно понимать, что есть GLUT и FreeGLUT. Это разные библиотеки. FreeGLUT актуален, а GLUT - нет. Все функции, которые есть в GLUT, есть так же и в FreeGLUT. Внешне код такой же. В FreeGLUT добавили какие-то новые. FreeGLUT есть для 32 и 64 бита. В FreeGLUT пофиксили баги, которые были в GLUT. Периодически выходят новые версии FreeGLUT. Крайняя была осенью 2019. Это можно почитать на русской Википедии: https://ru.wikipedia.org/wiki/Freeglut

Я тоже бы взял SDL2. В любом случае, вам придётся знакомиться поверхностно с другими библиотеками GLUT, GLFW и т.д. потому что будут попадаться разные примеры на сайтах, где GLUT или примеры из книг, где в основном GLFW. И на GLFW я тоже бы обратил внимание, в том случае, если вы решите дополнительно осваивать графику на Java и Python, то для этих языков есть GLFW. Для Python - PyGLFW. Для Java - LWJGL3, которая включает в себя GLFW. Переписывайте разные примеры на SDL2.

Я знаю, как создать окно и работать в мышью и клавиатурой для шейдерного OpenGL версии 3 в Visual Studio на: SDL2, SFML, WinAPI, Qt, GLFW, FreeGLUT, GLUT.

Так же:
  • на Python на: pyGLFW, wxPython (позволяет сочетать кнопки и графику)
  • на Java: GLFW (из LWJGL3)
  • на C#: OpenTK - окно из консольного приложений. Плюс OpenTK включает: работу с линейной алгеброй (матрицы, вектора и т.д.), звуком на OpenAL, загрузка текстур и сеть с помощью .NET. Правда, работы со шрифтами нет, но я освоил BMFont.
  • на TypeScript - WebGL. Работа со звуком с помощью средств браузера. Загрузка текстур с помощью языка программирования. А для шрифтов опять же BMFont. Для сети использую Node.js/WebSocket/socket.io
Я остановился на данный момент на крайних двух: OpenTK/C# для Desktop/Mobile и браузер. Для ваc оптимальнее будет SDL2 + OpenGL, если не хотите отдельно осваивать: WinSock (WinAPI для сокетов - только для Windows), loadPNG, BMFont, OpenAL, irrKlang и т.д.
2
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
22.01.2020, 17:24 6
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Нужно понимать, что есть GLUT и FreeGLUT.
А нужно ли? Если legacy-glut скорее мертв, разве не стоит считать glut синонимом freeglut'а?
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
22.01.2020, 17:54 7
Может я неправильно понимаю, что значит "библиотека мертва". Не выходили новые версий GLUT около или больше 10 лет, это надо уточнять. Поэтому я считаю, что GLUT мёртв. Самое большое, что меня бесило в GLUT, что нет версии x64, поэтому если начинающий скачивал мой проект на GLUT и запускал его, то он мне писал, что не работает, а я ему писал, что нужно переключить VS на x86. А собрать из исходников было нельзя потому что GLUT с закрытыми исходниками. На FreeGLUT есть в сборуках и x86 и x64, да и ещё исходники были открыты с самого начала. Новая версия FreeGLUT вышла в осенью 2019 года. Поэтому я считаю, что FreeGLUT не мёртв.

А что для вас значит, что библиотека мертва? FreeGLUT мёртв? А в сравнении FreeGLUT и GLFW, чем лучше GLFW? Мне кажется, что FreeGLUT и GLFW мало чем отличаются. Не проблема узнать быстренько, как на них создать окно и обработать клик мыши, перетаскивание, клавиши. Львиная доля времени изучения OpenGL не в программе создания окна. Надо попробовать создать окно на нескольких популярных библиотеках.
0
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
22.01.2020, 19:51 8
Что-то не тянет меня лезть в такие философские дебри. А ведь просто предложил забыть старую glut и использовать вместо нее с ее же именем freeglut, поскольку она обратно совместима с предшественником.
От SDL, SFML и прочих она отличается логикой работы и функционалом, поэтому они не родственники, а просто альтернативы.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Надо попробовать создать окно на нескольких популярных библиотеках.
Зачем? Такие базовые вещи обычно делаются в десяток шаблонных строчек в любой из них. Лучше сразу просмотреть несколько самых популярных библиотек по доступному функционалу и кроссплатформенности.
Впрочем, и это не обязательно. Можно даже наобум выбрать, поскольку переход между ними довольно прост.
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
22.01.2020, 20:59 9
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
От SDL, SFML и прочих она отличается логикой работы и функционалом, поэтому они не родственники, а просто альтернативы.
SDL и SFML - между собой альтернативы. Они похожи. У них встроена: поддержка звуков, сети, загрузка текстур и т.д. Но есть другой класс библиотек: FreeGLUT и GLFW, которые дают только окно, обработку событий от мыши, клавиатуры и т.д. А остальное подбирайте сами в виде библиотек. Я не вижу принципиальной разницы между FreeGLUT и GLFW. Как создать окно и сделать обработку WASD - это можно освоить за один вечер. Не вижу препятствий попробовать разные варианты и выбрать что-то близкое по духу. Кому-то понравится сишный стиль SDL, а кому-то больше по душе сплюсплюсный стиль SFML. Кто-то захочет взять только библиотеку для окна на GLFW/FreeGLUT, а для звука использовать OpenAL, а для сети, допустим - Boost, Qt, WinSock и т.д. Выбор - это больше дело вкуса. А всём можно что-то делать, а можно ничего не делать.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Лучше сразу просмотреть несколько самых популярных библиотек по доступному функционалу и кроссплатформенности.
Я так и сделал. Я сразу посмотрел несколько популярных и выбрал самые лучшие для себя варианты по кроссплатформенности. VS-проект созданный на OpenTK и C# открывается и запускается на: Win, Linux и MacOS. Есть возможность собирать на Xamarin для Android и iOS. А WebGL вообще не нужно компилировать под разные системы, скачивать и запускать. Вопрос выбор языка программирования и библиотек - это вопрос вкуса, задач, симпатии к языкам и библиотекам. У всех языков, библиотек и игровых движков, есть свои поклонники. Надо прислушиваться к себе, что ты хочешь, какие хочешь задачи решать. Надо пробовать разные библиотеки, движки, языки, технологии для своих идей.

Главное, что если допустим, человек выбрал Unreal Engine 4, то он был счастлив. Наверняка, есть такие люди на земле, кто выбрал DirectX и сейчас он кодит свой движок и счастлив, ему хватает для заработка Windows. Хорошо, когда человек уверен в своём выборе и весь день с утра до ночи он оттачивает свои знания, превращает знания в навыки и доводит навыки до автоматизма, выполняя задачи на любимых языках и технологиях. У меня установка такая, что нужно находить свой путь через свои пробы и ошибки, но почитывать разные мнения тоже интересно.
0
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
23.01.2020, 10:39 10
Цитата Сообщение от 8Observer8 Посмотреть сообщение
SDL и SFML - между собой альтернативы. Они похожи. У них встроена: поддержка звуков, сети, загрузка текстур и т.д.
Они встроены как отдельные наборы функций, не привязанные к оконным. По сути, несколько библиотек с общим именем. Не вижу смысла проводить какую-то особую границу между библиотеками среднего уровня для взаимодействия с ОС. Они все - максимально тонкая обертка вокруг системных вызовов.
И относиться к ним надо соответственно: окно можно создать через вызовы X11, но это привязка к конкретной платформе. А можно через обертку, которая все эти детали реализации скроет. Картинки можно загружать через libpng, а можно SDL_image. Даже если вы используете GLUT, никто ж не запрещает подтянуть сеть из SFML, а звук из SDL. Правда, учитывая сходный функционал, смысла в этом особого нет.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Не вижу препятствий попробовать разные варианты и выбрать что-то близкое по духу.
Если начинать с нуля, просто не будет критериев выбора. Пока человек не начал действительно использовать библиотеку он не знает что от нее нужно. Но это не проблема, поскольку все эти библиотеки занимают одну нишу и достаточно просты в использовании. Если достигнута граница одной, можно поискать необходимый функционал в других. Или вообще в специализированных.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
почитывать разные мнения тоже интересно
Вот на этом я бы акцентировал внимание общественности. Очень полезно получать знания не только в своей области, но и во всех остальных, пусть хотя бы поверхностные, общие. Даже если конкретная область вам не пригодится, в ней есть свои интересные подходы, алгоритмы, концепции, которые можно применить у себя. А может и сама область заинтересует, тоже хорошо.
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
23.01.2020, 12:31 11
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Если начинать с нуля, просто не будет критериев выбора. Пока человек не начал действительно использовать библиотеку он не знает что от нее нужно. Но это не проблема, поскольку все эти библиотеки занимают одну нишу и достаточно просты в использовании.
Я тоже когда начинал, то был в растерянности какую выбрать. Когда читал книгу по OpenGL, где используется GLFW - то подключал GLFW. Если в туториале использовался GLUT, то я подключал GLUT и т.д. Хотелось менять какие-то параметры через GUI, то брал WinAPI и Qt. В "СуперКниге OpenGL" - WinAPI. В каких-то туториалах - Qt. Мне было интересно смотреть, чем библиотеки отличаются, чем они сходны. Я думаю, что выбирать на текущий момент надо ту, которая используется в текущей книге или туториале. Они очень просты в использовании, поэтому нужно уметь работать со всеми популярными без исключения и уметь быстро переключаться между ними. Так же как и со звуком нужно уметь работать с несколькими: SDL2, irrKlang, OpenAL. Для загрузки изображений знать две или три библиотеки. Когда поработаешь с ними, то через какое-то время, одна останется, которая понравится больше. Это как с выбором игрового движка. Человек пробуют четыре: Unity, Godot, Unreal Engine 4, CryEngine 5 и в результате выбирает свой, по своим личным критериям.
0
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
23.01.2020, 12:40 12
Ну не знаю, мне лень изучать пять одинаковых библиотек, когда и одна со своими задачами справляется. Вот не хватит ее возможностей, тогда можно искать другую.
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
23.01.2020, 13:00 13
Выбрать сложно новичку. Нужно самому пробовать. Читаешь на форумах, а у каждой библиотеки, языка, графического API и т.д. - свои поклонники. Один говорит, что это единственно верный. Критерии разные могут быть. Я в своё время выбрал GLFW, потому что она в большинстве туториалов, есть порты на Java и Python, меньше всех весит, мне хотелось использовать: OpenAL, loadPNG, BMFont, WinSock (потому что WinSock в книге Многопользовательские игры. Разработка сетевых приложений). С точки зрения фаната другого набора технологий я могу быть в его глазах: "заблудшая душа", "неверный", "блаженный". Я уважительно отношусь ко всем библиотекам/языкам/движкам/графическимAPI и т.д., потому что у каждой из них есть свои поклонники. Это неправильно говорить, что это единственно верное, а остальные все дураки.
0
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
23.01.2020, 13:42 14
Так все-то учить зачем? Для меня первой библиотекой из этой серии был glut. Какое-то время (недолгое, поскольку реализация всего и вся на колбэках не нравится) сидел на нем. Потом стало не хватать возможностей, перешел на SDL. Чего ради мне учить еще SFML, GLFW и прочие? Что в них есть такого, чего нет в SDL?
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
23.01.2020, 14:37 15
Мне больше нечего написать.
0
4648 / 2474 / 423
Регистрация: 05.10.2013
Сообщений: 6,744
Записей в блоге: 182
25.01.2020, 16:28 16
Оставлю здесь такое своё мнение. Я считаю, что выбор библиотеки для окна на C++ имеет, очень маленькое значение, по сравнению с темпом продвижения в изучении компьютерной графики и сопутствующей математики, а наиболее важный показатель - это примеры его творчества на OpenGL, демонстрирующие на каком этапе он находится в данный момент. Спецификация на OpenGL огромная. Математический аппарат тоже немаленький. Выбрали, допустим, вы Qt, так и пашите на нём, не отвлекаясь больше ни на что. Я попробовал разные, потому что много читал книг, туториалов. В книге всегда описано пошагам подключение библиотек, которые выбрали для книги. Если используется в книге GLFW и SOIL я брал эти библиотеки и подключал и использовал их, как это описано в данной книге. Если в туториале описывалось, как подключать SDL2, то я брал и подключал SDL2 и следовал подробным инструкциям из туториала, как работать с этой библиотекой. Вот, кстати, очень хорошая пошаговая видео инструкция, как написать свой маленький 2D движок на шейдерном OpenGL и SDL2: Advanced C++/Graphics Tutorials (65 видео). За одно прокачивается "listening English".

Tutorial 0: Installing SDL


Очень важно сколько часов в день вы тратите на изучение OpenGL, связанной с OpenGL математикой, и сколько часов в день вы тратите на практику!

Брать информацию нужно изо всех доступных источников: книги, форумы, чьи-то примеры, туториалы, видео инструкции и т.д.

Где ещё можно начать изучать OpenGL:
Лучше читать оригинал, что бы привыкать к английскому и свободно читать документацию, книги, туториалы, которые не перевели на русский. Я перевод на Хабре не читал, не знаю, какой там качество.
0
1506 / 825 / 175
Регистрация: 05.12.2015
Сообщений: 2,457
25.01.2020, 23:14 17
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Очень важно сколько часов в день вы тратите на изучение OpenGL, связанной с OpenGL математикой, и сколько часов в день вы тратите на практику!
Во-во. Поэтому, если вы добыли методические материалы и они начинаются с: "возьмите дерьмо мамонта и..." - это повод отказаться от обучения по ним, насколько бы ни были хвалебные отзывы о них. По моему личному мнению, для обучения легче взять Qt (там оно все есть, самое последнее). Если рано в Qt - рано и в OpenGL.
0
8Observer8
26.01.2020, 00:12
  #18

Не по теме:

deleted

0
1283 / 900 / 479
Регистрация: 05.12.2013
Сообщений: 2,961
26.01.2020, 03:43 19
Цитата Сообщение от avgoor Посмотреть сообщение
По моему личному мнению, для обучения легче взять Qt (там оно все есть, самое последнее).
Очень странное мнение, учитывая что в Qt нет ничего для работы с OpenGL, просто окно для вывода, как в GLFW, SFML и т.д.
0
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,046
26.01.2020, 10:17 20
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я считаю, что выбор библиотеки для окна на C++ имеет, очень маленькое значение
Полностью поддерживаю.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я попробовал разные, потому что много читал книг, туториалов. В книге всегда описано пошагам подключение библиотек, которые выбрали для книги. Если используется в книге GLFW и SOIL я брал эти библиотеки и подключал
Я предпочитал не столько воспроизводить с нуля, а "пересказать" как понял на основе тех технологий, которые знаю. Но это, конечно, медленнее.
Цитата Сообщение от avgoor Посмотреть сообщение
Во-во. Поэтому, если вы добыли методические материалы и они начинаются с: "возьмите дерьмо мамонта и..." - это повод отказаться от обучения по ним, насколько бы ни были хвалебные отзывы о них.
В общем случае это не так. В хороших книгах упор делают не на конкретные технологии, а на подход, алгоритмы. А уж перенести алгоритм с "говна мамонта" на "говно слона" вполне реально.
Цитата Сообщение от avgoor Посмотреть сообщение
По моему личному мнению, для обучения легче взять Qt (там оно все есть, самое последнее). Если рано в Qt - рано и в OpenGL.
Qt для OpenGL излишне. Большая часть функционала все равно использоваться не будет. Так что для изучения трехмерной графики Qt вообще не нужно. Вместо этого придуманы менее избыточные glut, sdl, sfml, glfw и т.п.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2020, 10:17

Проблеми с glut.h
Здраствуйте уважаемие форумчане. У меня возникла проблема при установке библиотек и модулей OpenGL...

GL/glut.h на wxDev-C++
Подскажите пожалуйста кто знает, как настроить wxDev-C++ чтобы он нормально работал с OpenGL а...

подключение glut
Не могу подключить glut к своему приложению. Проблема в том, что я пользуюсь Windows 8 (x64), VS...

glut режимы
вобщем проблема состоит в том что при режиме с двойной буферизацией не хочет ничего прорисовывать ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru