Перейти к содержимому


Свернуть чат Чат Открыть чат во всплывающем окне

Yandersen : (3 часов назад) Зависит от нас самих. От Скаев - надежды нет.
Гость : (6 часов назад) народ я тут хотел узнать есть шанс на меха 3 ?
Yakim (Watco... : (2 дней назад) точно? :huh: а если найду? :lol:
lz : (2 дней назад) да не, я не)
Yakim (Watco... : (3 дней назад) Егор, ты говоришь так. будто у тебя они есть, так вот, че по чем?))))
Гость : (3 дней назад) Вот бы сейчас, в 2018, читы на мехов гуглить...
lz : (3 дней назад) Ты просто без читов гоняешь.
Yandersen : (4 дней назад) Ниправда, этот сукасадист должен существовать, его не может не быть! Иначе на кого тяготы жизни сваливать?
Yakim (Watco... : (4 дней назад) Юморист от бога, которого нет)))
Гость : (4 дней назад) Бля, я думал это поиск
Гость : (4 дней назад) Читы
Yakim (Watco... : (неделю назад) Ну как-бы да, насколько я помню, Дуст и Сплайн основатели =) Кажется идея Дуста, реализация Сплайна.
lz : (неделю назад) Вон даже свалкер2 будет, а ты говоришь. И P4 будет)
Yandersen : (неделю назад) ессниошибаюсь. Якимка, подтверди?..
Yandersen : (неделю назад) Егор, кто такой Дуст надо знать. Он папа Мехов, основатель Скаев, автор оригинальной идеи и главный разраб.
lz : (неделю назад) Всё будет.
lz : (неделю назад) Я его знать не знаю, и, поэтому, как-то безразлично.
Yandersen : (неделю назад) Не, ну остается ещё пол процента вероятности что старческий маразм, который, судя по всему, уже не за горами, толкнет дедулю на кикстартер и жалкую попытку возродить легенду, но если это и случится, это будет жалкий высер и позор, тут гарантированно.
Yandersen : (неделю назад) Ну так, антипример мотивационный. Тип для подверждения утверждения о последнем Джедае в твоем лице.
Yandersen : (неделю назад) Нам? Да незачем канеш. Прост он Батя Мехов, и после многолетней череды ежегодных грез о М3 такое вот отмачивает.
lz : (неделю назад) Он нам зачем?
lz : (неделю назад) Ни тепло ни холодно.
Yandersen : (неделю назад) Так как тебе новостя, что Дуст из Партизанов в Fearea перешел? От же мотает старика из говна в навоз...
Yandersen : (неделю назад) Еще бы. У меня во времена креативные если проект десяток хидеров включал, так я с наскока в лучшем случае все с нуля тупо переписывал, чем разбирался что там где как было. В худшем - тупо закрывал и забывал нах. Ты-то молодец.
lz : (неделю назад) Я бывает открываю, но с наскока не берётся так пока.
lz : (неделю назад) Так там 3 года назад ещё всё почти готово было. Прогресса особо больше и не было. АИ надо и всё считай.
Yandersen : (неделю назад) Егор, ну позязя, там же на вид не так много осталось? Будет играбельно хоть чутка - получится мотивационно, больше шансов что кто-нить из народа подключится.
lz : (неделю назад) Занят пока просто, терпение)
Гость : (неделю назад) Лол, нет)
Yandersen : (неделю назад) Ну, вялотекущие дела - это по моей части. Ты-то как креативность растерял, а Егорка? На тебя ж одна надежда осталась. Дуст вон в Fearea влился уже. Это ж все, мехам хана, а последний из Джедаев стал вялотекущими делами заниматься, вместо того чтоб мир разумных машин от забвения спасать. Ну Егооооор... :(
lz : (3 недель назад) По гитхабу можно посмотреть.
lz : (3 недель назад) Вялотекущий режим. Время от времени чего-то смотрю.
Yandersen : (3 недель назад) Егорушка, ну а как же ремастеред?.. :(
Yakim (Watco... : (4 недель назад) бугага
lz : (18 Апрель 2018 - 23:33) Вытаскивал из блока.
lz : (18 Апрель 2018 - 23:33) Блэт, мои серваки на амазоне под раздачу попали.
Yakim (Watco... : (05 Апрель 2018 - 20:54) :ph34r:
Гость : (22 Март 2018 - 09:37) Благодарю :) (предпочитаю постоянный стабильный заработок)
Yakim (Watco... : (21 Март 2018 - 19:56) пхахаха
lz : (21 Март 2018 - 16:46) Может быть, хочешь знать, как поднять бабла?
lz : (21 Март 2018 - 16:46) Кстати, а проблем с доступом к джойказино у тебя нет?
lz : (21 Март 2018 - 16:02) Активировал.
Гость : (21 Март 2018 - 15:32) Проблемы с активацией аккаунта на форуме... =)
Yakim (Watco... : (19 Март 2018 - 21:37) :ph34r:
Yakim (Watco... : (01 Февраль 2018 - 21:44) ?

Фотография
- - - - -

Шрифты

Font char bitmap bmp ttf

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 23 Апрель 2015 - 09:03

Склепал маленькую прогу для выдирания шрифтов в виде битмапов:

Fonts Ripper - v1.1.1.0 (21 June 2015).

Вот исходники.

 

Прога позволяет выбрать шрифт (стандартный виндовый диалог) и сохранить битмапы всех 256 символов в отдельные .bmp файлы или в один общий .bmp или .glt файл (glt - мой формат текстур для OpenGL). Разумеется, в общий файл корректно сохранять лишь fixed-width fonts (Courier, Lucida console и пр.).

 

Генерируемые картинки 32-битные, т.е. имеют альфа-канал. Альфа вычисляется автоматически - суммируются все три цветовых канала, вычисляется среднее значение и результат вычитается из 255. В результате альфа=255 для символа и 0 вокруг него (символы НЕпрозрачные)

 

При сохранения прога создаёт папку, куда и сбрасывает все генерируемые картинки.

 

Зачем сие нннада? Шоб текстурки для шрифтов легко мутить можно было.



#2 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 23 Апрель 2015 - 21:00

Апдэйт: теперь прога умеет сохранять шрифты в *.glt формате (т.е. готовые текстуры, с мипмапами). Правда, для сохранения в *.glt формате она юзает кое-какие функции из OpenGL4.5. В принципе, я мог бы спустить требования до версии 3.0, но только если кто очень потребует. :) Но в битмапы сохраняет вне зависимости от ГЛ.



#3 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 21 Июнь 2015 - 22:09

Маленькая доработка - добавил возможность сохранения шрифта в *.glt в одноканальном (чёрно-белом) формате. Т.е. белые непрозрачные буквы на чёрном прозрачном фоне.



#4 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 11 Ноябрь 2015 - 17:43

Что называется, из последних наработок :

по факту повторил урок № 17 от NeHe - 2-мерные текстурные шрифты

шрифт хранится в виде текстуры с доп.заголовком, описывающем саму текстуру + массив 256 ширинок для каждого символа шрифта

lucida_sans_u.png

Исполняемые файлы: Прикрепленный файл  fontDemo.7z   1,1МБ   68 - Раз(а) скачано

Исходники:Прикрепленный файл  fontDemo_source.7z   156,92К   69 - Раз(а) скачано

 


 


#5 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 12 Ноябрь 2015 - 08:48

Отличненько пашет на вид. А коду наваял, я смотрю, шо ппц...  :)

И вот в упор не пойму, чего ты так до сих пор не интегрировал в свой проект мои LoadGL.h и GLSL.hpp?! ЛоадГЛ объявляет и автозагружает все ОпенГЛ функции до 4.5 включительно избавляя от надобности подключения стандартных ГЛ хеадеров и инициализации функций, а в ГЛСЛ вся векторная математика точь-в-точь как в шейдерах. притом на ассемблере написанная. Стандарт же, ничего отсебятинного. Насчёт остальных своих хеадеров за такое не ручаюсь.  :)

 

Кстать, насчёт шрифтов с нестандартизированной шириной букв. Как я понимаю, максимальная ширина символа равна его высоте, так? А что насчёт табовых символов, которые по ширине в несколько раз больше высоты? Там что, соседние буквы отображаться начнут, получается?



#6 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 12 Ноябрь 2015 - 16:14

И вот в упор не пойму, чего ты так до сих пор не интегрировал в свой проект мои LoadGL.h и GLSL.hpp?

УЗБАКОЙСЯ. Пока незачем мне столько функций и констант разом. Чуток подключил и радуюсь. Да и математика у меня тоже временная. Всё будет, не спеши.
 
 

Кстать, насчёт шрифтов с нестандартизированной шириной букв. Как я понимаю, максимальная ширина символа равна его высоте, так? А что насчёт табовых символов, которые по ширине в несколько раз больше высоты? Там что, соседние буквы отображаться начнут, получается?

Какие конкретно тебя интересуют символы? А то я пока только первые 256 закатал. И беру из таблицы не символ, а его номер по коду.
У меня на каждый символ конкретно его ширина записана в массиве. Так что ошибочных текстурных координат не будет.

А коду наваял, я смотрю, шо ппц...

Дык это не за полгода, а за две недели. И всё равно мне не нравится. А я хочу идеально всё чтоб было.

И это, нету ни у кого шрифта из вторых мехов? Точнее двух шрифтов - тонкого и толстого (трафаретного)? А то чёта ломает меня парсер писать для big.dds и big.fdf.

 


#7 OFFLINE   lz

lz

    True Warrior

  • Админ
  • 213 сообщений

Отправлено 12 Ноябрь 2015 - 21:24

1. Вы изобрели libpango? http://www.pango.org Рендерится любой шрифт нужной комбинацией библиотек pango, cairo, fontconfig, freetype, harfbuzz.

2. Разиль, нет файла солюшена студии .sln Понятно, что запускается через vcxproj, но всё же.

3. Ян, почему не включать твой код? Повторю, что ты код пишешь для себя. http://aim-fans.ru/i...opic=147&p=1671

 

 

Вапще подразумевается, что программисту-пользователю не потребуется лазить по моему коду - лишь инклюд и юз как аффтар описал. Если что не так или надо ещё что - трясите аффтара, не ковыряйте его код самостоятельно. Такая идеология.

Твои файлы разобрать невозможно, хотя бывает нужно. Нельзя поставлять код, не предполагая использованием другими. Это равносильно поставке блоба - скомпилированной библиотеки и хедеров с объявлениями. С включением файлов в проект ты так и не разобрался, всё через 1 файл. Можно было бы вынести эти функции в библиотеку - отдельный проект, - которую можно подключать другим людям к своим проектам. Код у Разиля как раз неплохо оформлен (не вчитывался в смысл).


Polygon-4
Документация и инструкции по установке доступны по ссылке:
 

#8 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 12 Ноябрь 2015 - 21:44


Вы изобрели libpango?

Ага, мы те еще изобретатели велосипедов :)


Разиль, нет файла солюшена студии .sln Понятно, что запускается через vcxproj, но всё же

Ну, при старте vcxproj решение создастся дефолтное, его и пользовать можно сохранив. А вообще, не знаю как CMake конфиги создаются, вот  выкладываю так. Как нуб.


 


#9 OFFLINE   lz

lz

    True Warrior

  • Админ
  • 213 сообщений

Отправлено 12 Ноябрь 2015 - 22:33

Симейк гляди у меня в проектах. Вот простенький

https://github.com/a.../CMakeLists.txt

Но тут уходит действие в подкаталог вызовом add_subdirectory(src). Можно дальше проследить

https://github.com/a.../CMakeLists.txt

или тут (проще)

https://github.com/a.../CMakeLists.txt

 

Минимальный конфиг:

add_executable(test test.cpp)

Более полный:

cmake_minimum_required(VERSION 2.8.11)

project(my_project_name CXX) # Либо другие языки через пробел. Пример: C CXX ASM

# перечисление файлов
set(proj_src
    file1.cpp
    file2.cpp
    header1.h
)

# регулярное выражение
file(GLOB proj_src2 "*.cpp" "*.h")

# регулярное выражение с рекурсивным поиском в подкаталогах
file(GLOB_RECURSE proj_src3 "*.cpp")

add_executable(proj ${proj_src} ${proj_src2} ${proj_src3})

После этого в каталоге с файлом CMakeLists.txt выполняешь: cmake -H. -Bwin

-H - текущий каталог,

-B - каталог сборки.

Будут сгенерированы файлы студии (sln, проекты и т.д.).

Стильно, модно, молодёжно.


Polygon-4
Документация и инструкции по установке доступны по ссылке:
 

#10 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 12 Ноябрь 2015 - 23:20

Какие конкретно тебя интересуют символы? А то я пока только первые 256 закатал. И беру из таблицы не символ, а его номер по коду. У меня на каждый символ конкретно его ширина записана в массиве. Так что ошибочных текстурных координат не будет.

Ну у тебя ж текстура 16х16 символов, значит на каждый символ отводится квадратик. Значит макс. ширина символа равна его высоте, не больше. А табовые символы в несколько раз по ширине больше, чем по высоте. Значит залезет на соседние символы, так?

Ян, почему не включать твой код? Повторю, что ты код пишешь для себя. http://aim-fans.ru/i...opic=147&p=1671

Два вышеуказанных хеадера являются своего рода стандартом, т.к. соответствуют официальным документациям ОпенГЛ. Поэтому только про них и речь. Не будь какашкой. Вдобавок, ОпенГЛ остановился в своём развитии на версии 4.5, поэтому и хеадеры меняться не будут, так что эти хеадеры - конечный продукт.

Стильно, модно, молодёжно.
Ну да, намного проще, чем явно инклюд прописать, указав файл, чьи кодоресурсы используешь.

#11 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 13 Ноябрь 2015 - 03:18


Ну у тебя ж текстура 16х16 символов, значит на каждый символ отводится квадратик. Значит макс. ширина символа равна его высоте, не больше. А табовые символы в несколько раз по ширине больше, чем по высоте. Значит залезет на соседние символы, так?

В общем случае у меня сама текстура имеет размеры imageWidth X imageHeight. Сама текстура разбита на 256 ячеек размером cellWidth X cellHeight. Каждый символ имеет свою ширину, записанную в массиве width[256]. То есть конкретный символ номер [i] будет рисоваться на полигоне размера width[i] X cellHeight.

Пока что у меня не было необходимости рисовать символ шириной больше, чем cellWidth.

А если и возникнет, подозреваю, что это будет редкость, и его можно будет вырезать особым образом, явно прописав это в коде.

О, и тут я сообразил, что я же не редактор текста делаю.

 


Будут сгенерированы файлы студии (sln, проекты и т.д.). Стильно, модно, молодёжно.

Хорошо, попробуем в следующий раз.


 


#12 OFFLINE   lz

lz

    True Warrior

  • Админ
  • 213 сообщений

Отправлено 13 Ноябрь 2015 - 05:41


Ну да, намного проще, чем явно инклюд прописать, указав файл, чьи кодоресурсы используешь.

Ты опять всё перепутал.

Нельзя ставить в один ряд инклюды для компиляции программы и указание файла для включения его в проект при генерации файлов проекта.


Polygon-4
Документация и инструкции по установке доступны по ссылке:
 




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных