HLFX.Ru Forum Страницы (255): « Первая ... « 85 86 87 88 [89] 90 91 92 93 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)


Отправлено Дядя Миша 17-04-2020 в 08:18:

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

Добавлено 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'


Отправлено KiQ 18-04-2020 в 06:19:

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

Добавлено 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-


Отправлено Дядя Миша 18-04-2020 в 07:10:

Цитата:
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'


Отправлено Дядя Миша 18-04-2020 в 14:41:

Было-стало:


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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 19-04-2020 в 09:25:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 19-04-2020 в 10:13:

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

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


Отправлено Дядя Миша 19-04-2020 в 12:27:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 19-04-2020 в 13:39:

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

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


Отправлено Дядя Миша 19-04-2020 в 15:08:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 21-04-2020 в 08:27:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 21-04-2020 в 13:48:

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


Отправлено Дядя Миша 21-04-2020 в 15:37:

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'


Отправлено a1batross 21-04-2020 в 16:17:

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

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

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

__________________
Xash3D FWGS форк


Отправлено ncuxonaT 21-04-2020 в 16:26:

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


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


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

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


Отправлено Дядя Миша 21-04-2020 в 17:01:

Цитата:
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'


Временная зона GMT. Текущее время 13:17. Страницы (255): « Первая ... « 85 86 87 88 [89] 90 91 92 93 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

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