HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (255): « Первая ... « 85 86 87 88 [89] 90 91 92 93 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Вроде как там собственный рендерер с антиалиасом.
Но все эти маленькие штуки на коленке не обеспечивают приемлимого качества. Там в аннотации написано - для микроконтроллеров. А куда микроконтроллеры обычно выводят текст? На двухстрочный монохромный ЖК-экранчик. Там многие косяки и артефакты просто неактуальны.

Добавлено 17-04-2020 в 10:17:


Слева pointSize 46, справа 21. Оба варианта апскейлены в какой-то степени (не замерял в какой именно). С точки зрения унификации кода второй вариант предпочтительнее, т.к. он использует тот же самый шрифт, что и для подсветки кнопок, при наведении мыши. Но как видите, из-за большого скейла уже лезут артефакты с соседней буквы.

Добавлено 17-04-2020 в 10:26:

Впрочем нет, это не из-за скейла. Это из-за блура кое-где оффсеты не соблюдены были. Исправил.

Добавлено 17-04-2020 в 11:18:

Шапки

Есть отличия конечно, но на FFP идеального соответствия добиться проблематично. Да наверное и не особенно нужно. Главное что теперь можно писать любую надпись.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192352

Старое сообщение 17-04-2020 08:18
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2090

Рейтинг



Дядя Миша на четвертой картинке шапка выглядит весьма жутко, да и в принципе ( а на второй еще жутче). В том прямоугольнике, куда вмещается надпись нужна альфа-маска с горизонтальным (а точнее цилиндрическим) градиентом. В Фотожопе это легко делается, но и тут можно алгоритм подобрать

Добавлено 18-04-2020 в 08:22:

Через модуль номера строки пикселей вычислить прогрессию и назначить альфу. Я просто сейчас слишком бухой чтобы формулу сходу накидать)

Добавлено 18-04-2020 в 08:36:

Дядя Миша или не добавлять блюр изначально в атлас, а делать его динамически при отрисовке как постэффект

Добавлено 18-04-2020 в 09:07:

Типа того
http://alxgk.ru/uploader/img/4c36a156b5aaa7099c85794e513d61b2.png

Добавлено 18-04-2020 в 09:19:

Я к тому, что просто оффсетами это не поправишь. Я с этим столкнулся, когда в своем 2D движке делал освещение шейдерами, когда обрезка делается прямоугольником и захватывает еще соседние области. То есть тут нужна маска или в целом размывать уже после отрисовки шрифта как постэффект

__________________
-Brain is dead-

Отредактировано KiQ 18-04-2020 в 06:24

Сообщить модератору | IP: Записан
Сообщение: 192422

Старое сообщение 18-04-2020 06:19
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
KiQ писал:
на четвертой картинке шапка выглядит весьма жутко

Так еще бы, я её четыре раза аддитивно рисую.

Цитата:
KiQ писал:
делать его динамически при отрисовке как постэффект

нету пока что шейдеров в меню.

Цитата:
KiQ писал:
когда обрезка делается прямоугольником и захватывает еще соседние области

ну так охранный бордюр нужен в один пиксель.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192425

Старое сообщение 18-04-2020 07:10
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Было-стало:


Спин-контролы еще не написаны, поэтому на новом меню нет такого элемента.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192448

Старое сообщение 18-04-2020 14:41
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



У меня всё больше крепнет ощущение, что на крестах можно писать только итеративно. Но итеративность находится в серъезном противоречии с комнадной работой. Отсюда и говнокод. Все эти книжки по эффективному программированию бесполезно читать - после каждой итерации код становится лучше и лучше, с учётом его реального использования. При условии конечно, что до оптимального состояния его будет использовать только один человек. Судя по всему к этой итеративности стремятся и движкописатели, получая негодование коммунити - в новой версии опять всё изломали.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192473

Старое сообщение 19-04-2020 09:25
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



Новый вариант нравится больше, наконец избавился от этих уродских ку3шных шрифтов, правда поля с текстом съехали...

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | IP: Записан
Сообщение: 192474

Старое сообщение 19-04-2020 10:13
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Куда съехали?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192475

Старое сообщение 19-04-2020 12:27
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



Дядя Миша
С центра, вон текст в поле для ввода и текст в кнопке, есть рамка и текст не по центру.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | IP: Записан
Сообщение: 192476

Старое сообщение 19-04-2020 13:39
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Так я и не хотел, чтобы он был по центру.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192478

Старое сообщение 19-04-2020 15:08
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Вот кстати говоря. Это уже считается кернингом или надо их еще ближе двигать?
Хотя это те значения, которые вернул GetCharABCwidths.

[ Вложение ]
Безымянный.jpg

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192540

Старое сообщение 21-04-2020 08:27
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Если я правильно понял, что извлекает GetCharABCwidths, то нет, это не кернинг. Для кернинга нужно брать значения кернинговых пар и двигать в соответствии с ними (необязательно ближе). А что это за шрифт?

Сообщить модератору | IP: Записан
Сообщение: 192548

Старое сообщение 21-04-2020 13:48
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Sans Serif же.

Добавлено 21-04-2020 в 18:37:

Ну так кернинговые пары, это по идее и есть A\C. для каждой буквы. B - это ширина видимой части.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192554

Старое сообщение 21-04-2020 15:37
-
a1batross
Житель форума

Дата регистрации: May 2016
Проживает: Москва
Сообщений: 532
Возраст: 27

Рейтинг



Это не совсем кернинг, это обычные метрики, но их в любом случае необходимо учитывать.

Кернинговые пары, это когда задействовано пара символов. Чтобы их извлечь, нужно уже уметь парсить формат файла шрифта и вытаскиывать из него данные о кернинге и считать расстояние именно между двумя символами. В принципе, это есть уже в 100500 раз упомянутом freetype2, см. документация. В винде само собой тоже есть.

ИМХО, мы не типографисты, поэтому того что сделал Дядя Миша достаточно для GUI, тем более игрового. Тем более Дядя Миша заранее считает метрики и атласы с глифами. Да, можно и скопировать информацию о кернинге и записать его в своём формате шрифтов, но стоит ли оно того? В принципе, с учётом просто метрик символы уже должны быть пропорционально размещены относительно друг друга.

__________________
Xash3D FWGS форк

Отредактировано a1batross 21-04-2020 в 16:21

Сообщить модератору | IP: Записан
Сообщение: 192564

Старое сообщение 21-04-2020 16:17
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



Нет, A и C - это то что называется side bearings, то есть расстояния от краев (которые могут быть отрицательными)


Кернинговые пары - это пары символов, для которых заданы дополнительные смещения относительно друг друга


Добавлено 21-04-2020 в 19:26:

В microsoft sans serif (если это он) кернинговых пар нету.

Сообщить модератору | IP: Записан
Сообщение: 192567

Старое сообщение 21-04-2020 16:26
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
ncuxonaT писал:
пары символов, для которых заданы дополнительные смещения относительно друг друга

Я так понимаю это необязательная информация, потому что для всех букв подобный массив займет четверть мегабайта, для ANSI. Да в целом и хрен бы с ними. Тут и так с табами намаялся, а если еще и кернинг учитывать

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 192576

Старое сообщение 21-04-2020 17:01
-
Тема закрыта Дядя Миша 04-08-2024 в 10:49
Временная зона GMT. Текущее время 09:28. Новая тема    Ответить
Страницы (255): « Первая ... « 85 86 87 88 [89] 90 91 92 93 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024