Двач, снизойди до убогого, помоги с freetype. Пишу оверлей на С++ для OpenGL игры. Научился выводить всякие интересные штуки в самой игре типа прямоугольников и так далее. Но этого не хватает. Нужен текст. Я уже искал в интернете статьи и примеры как это делать, но я слишком тупой. Где-то не было самой библиотеки freetype, где-то ещё чего-то. А я даже где найти её не знаю. Пробовал с сайта разработчика скачивать, но там видимо её собирать надо или она где-то в какой-то жопе архива. Из всего что у меня есть это GL.h и OpenGL32.lib. Рисование оверлея происходит в перехваченной функции SwapBuffers. Да-да, я тот самый анон просящий помощи в устранении мигания. На скриншоте код который я имею на данный момент. Я хочу вывести какой-нибудь текст.
>>238780247 (OP) Только нашел где можно скачать freetype.lib, там предлагается скачать еще и freetype.dll Зачем? Если игра использует этот freetype.dll надо ли его скачивать?
> Windows DLLs of FreeType can also be downloaded directly from a github repository (version 2.10.4, built with VS Express 2017) https://www.freetype.org/download.html
Копируешь include\ в путь с хедерами. Выбираешь, будешь ли линковать статически (код фритайпа будет включен в твой бинарник) или динамически (код фритайпа подгрузится из дллки). Копируешь release...\win(архитектура, под которую компилишь)\freetype.lib в путь с либами. Копируешь release dll\win...\freetype.dll в путь с бинарником, если решишь динамически линковать.
>>238783481 Пока нет, я слишком тупой. Создал папку FreeType в папке проекта, запихнул туда FT2Build.h и FreeType.lib Добавил в компоновщик > ввод > дополнительные зависимости FreeType/FreeType.lib (там уже OpenGL32.lib был я с новой строки дописал) и что дальше делать не знаю. Вот тут https://habr.com/ru/post/473990/ челик подключает не через #include "ft2build.h" а через < > и инклудит ещё какой-то FT_FREETYPE_H :(
>>238784485 ft2build.h значит надо в саму папку проекта? Так вот о чем говорилось на хабре..
>Поскольку FreeType разработан немного странным образом (на момент написания оригинала, дайте знать, если что-то поменялось), класть его заголовочные файлы можно только в корень папок с заголовочными файлами. Подключая FreeType как-то иначе (к примеру, #include <3rdParty/FreeType/ft2build.h>) может спровоцировать конфликт заголовочных файлов.
>>238780489 dll это сама либа, lib это заглушки функций для линковки. тебе надо подключить в линкере этот либ файл, а в папку с тьвоим экзешником сунуть dll файл который будет загружатсья при старте.
Смотри, у меня подключилось всё. Я решил включить все файлы фритайпа в проект, но ты можешь куда угодно, главное, чтобы настройки были такие:
- путь к хедерам фритайпа в "C/C++ -> General -> Additional Include Directories", у меня он $(ProjectDir)vendor\freetype\include; - путь к либам фритайпа в "Linker -> General -> Additional Library Directories", у меня $(ProjectDir)vendor\freetype\lib; - ну и подключаешь саму freetype.lib в "Linker -> Input -> Additional Dependencies".
>>238786609 Сука ностальгия по этому дерьму. Вот так же 5 лет корячился с либами и бинарной несовместимостью на плюсах, графон пилили (опчик, выше правильно посоветовали, возьми нормальный двиг и не еби мозг)
Сейчас перебрался в жаву 4 года как. Божечки, одна строка в мавене и все!
>>238788137 Анош, а меня наоборот, тошнит от сишарпия с энгуларом на работе. Сишка как-то заставляет разбираться, хоть немного, что там внутри. А на сишарпе посоны копипастят со стековерфлоу и вываливаются в ментальный бсод, как только задача становится нестандартной. Мне, например, пришлось как-то отговаривать писать целый апи и объяснять про встроенный прокси в IIS, когда надо было прокинуть с десяток эндпоинтов из локальной сети в инет.
>>238788670 Я понимаю. Сам от Java спасаюсь JavaScript, react изучил - тоже голова устаёт от одной технологии. Хочу поковырять WebGL, тоже без движков, чтобы матрицы самому считать, шейдинг и прочее. А то энтерпрайз мозги съедает уже.
Здесь используется какой-то glm::, кто-нибудь знает где его взять и можно ли без него обойтись? Не хочется что-то еще подключать кроме OpenGL32.lib и FreeType.lib
>>238788670 Алсо с прокси анекдот блин, любят люди себе проблемы делать на ровном месте. Ходил на собес в контору одну жавистом - они капец хвастались что у них все in house. Ну нормально в целом, НО у них реально ВСЕ кастомное - даже мапперы, даже ORM. Просто тонны кода. И сеньор сидит даун, слюну пускает в уголок рта, ему бы интернеты показали бы хоть и двач Я три улицы пробежал пока опомнился.
>>238789112 Это как будто вот она https://github.com/g-truc/glm Но они только исходники дают, бинарников нет. Можешь попытаться сбилдить самому по их ридми. А можешь погуглить "glm_static.lib" — часто кто-то коммитит бинарники в репозитории, типа https://github.com/houjiawei11/opengl_required. Попробуй забрать оттуда glm_static.lib и glm/*, вдруг для твоей архитектуры собрано.
Аноны, это я, ОП. Я кое что не могу понять. Допустим та игра для которой я делаю оверлей запускается на Windows XP / 7 / 8 / 10 и использует так же этот FreeType, но в FreeType который я скачал (последняя версия) заявлено что он работает от Windows 7 и ещё меня смущает что там написано Windows 10 от 1507. Вдруг мой оверлей скачает кто-то у кого будет версия ниже? Или нет смысла бояться поскольку сама игра которая использует FreeType не будет работать корректно?
>>238795182 Я очень тупой и стараюсь делать все по статье а там в статье дальше пишут с glm. А я хз как это переделать чтобы работало и чтобы вывести чота. Это для вас все просто выглядит, но не для меня.