HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (245): « Первая ... « 72 73 74 75 [76] 77 78 79 80 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
TTF либо стандартными виндовыми средствами, либо на линуксе через FreeType2. Таскать вместе с движокм библиотеку, которая весит больше чем сам движок я не планирую.

Есть, насколько я помню, еще махонькие stb-библиотеки для этих же целей.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

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

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

Рейтинг



Я уважаю Баррета и всё что он делает, но рендеринг шрифтов - нетривиальная задачка.

Ну вот у него там примерчег:

C++ Source Code:
fread(ttf_buffer, 1, 1<<20, fopen("c:/windows/fonts/times.ttf", "rb"));
stbtt_BakeFontBitmap(ttf_buffer,0, 32.0, temp_bitmap,512,512, 32,96, cdata); // no guarantee this fits!

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

Добавлено 11-03-2020 в 13:57:

Он фактически в этот хидер запихал софтрендер. Теперь спрашивается, если какие-то буквы некорректно отрендерятся или упадёт это всё - как исправлять ошибку, как это поддерживать? Ну нафиг, я не хочу с этим связываться. Есть виндовые функции, им я доверяю в этом плане.

Добавлено 11-03-2020 в 14:07:

Я единственно о чём жалею - слишком поздно нашёл его репозиторий, если бы мне его кто-то показал в 2010-м, я бы был в восторге, а щас - уже не нужно.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 11-03-2020 11:07
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4149

Рейтинг



Так-таки и "c:/windows"? Даже без попытки порезолвить %windir%?

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

Старое сообщение 11-03-2020 11:22
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
nemyax писал:
Так-таки и "c:/windows"?

Ну этож просто примерчег закоменченный. Не важно.
У шрифтов в системе есть имя, по которому мы их берём. Реальное имя файла, естественно отличается, т.е. без этого механизма уже очень неудобно.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 11-03-2020 12:12
-
 Дядя Миша
racing for fish

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

Рейтинг



Так товарищи, а подскажите мне навскидку, как правильно выбирать point size шрифта в зависимости от разрешения экрана? Я пока придумал, разрешение поделить на 80 и получившееся число и будет нашим point size.
80 - это кол-во буков в консоли.

Добавлено 12-03-2020 в 13:19:

Конечно при разработке нового формата мне бы хотелось, чтобы визуально новые шрифты не слишком отличались от старых. Так например в халфе яркость шрифтов не 255, а 192 и у всех по дефолту есть обводка.

Первые результаты:
Старый шрифт

[ Вложение ]
ad_metmon_0001.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: Записан
Сообщение: 191136

Старое сообщение 12-03-2020 10:19
-
 Дядя Миша
racing for fish

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

Рейтинг



И новый. Джпипег цвета побил

[ Вложение ]
ad_metmon_0002.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: Записан
Сообщение: 191139

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

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

Рейтинг



Дядя Миша
Так сохраняй с минимальной компрессией в фотошопе, вообще хранить шрифты в жпеге крайне странная затея. Лучше уж тогда генерить из .ttf

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

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

Старое сообщение 12-03-2020 11:18
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4149

Рейтинг



Дядя Миша
Взял бы шрифт, где легко отличить I, l, 1. Например, Tahoma, Verdana, PT Sans.

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

Старое сообщение 12-03-2020 11:18
- За что?
ncuxonaT
каков стол, таков и стул

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

Рейтинг



Мне казалось, для консоли моноширинные шрифты используют

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

Старое сообщение 12-03-2020 11:50
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
вообще хранить шрифты в жпеге крайне странная затея

Шрифты не в джипеге, это я вам скриншот выложил в джипеге

Цитата:
ncuxonaT писал:
Мне казалось, для консоли моноширинные шрифты используют

любой шрифт с переменной шириной легко отрисовать как моноширинный.

Я тут подумал, что старый вариант консоли, где кол-во символов на строке варьировалось в зависимости от разрешения экрана - стрёмный. Ну потому что это придумал еще Кармак для моноширинных шрифтов, которых была всего одна штука. Сейчас, когда мы можем загружать на каждое разрешение свой шрифт (или с близким point size), это становится наоборот неудобно. Я принял классический размер консоли в 80 символов.
Вот что у меня в итоге получилось.
На этот раз сохранил в PNG чёб цвета непобились.

Добавлено 12-03-2020 в 15:02:

хм, форум в PNG не умеет, очуметь можно

[ Вложение ]
ad_metmon_0001.png

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 12-03-2020 12:02
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32296
Нанёс повреждений: 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: Записан
Сообщение: 191172

Старое сообщение 12-03-2020 18:54
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32296
Нанёс повреждений: 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: Записан
Сообщение: 191188

Старое сообщение 13-03-2020 19:24
-
 Дядя Миша
racing for fish

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

Рейтинг



Ну вообщем-то да, всё в эту схему укладывается и худ-спрайты и трава и партикл-фонты и импосторы. Таким образом в движке получится четыре типа объектов:
1. текстура
2. вот эти вот атласы, работающие в паре с текстурой
3. модели
4. уровни

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 14-03-2020 09:05
-
 Дядя Миша
racing for fish

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

Рейтинг



Вот такой атлас получился.

Подаем на вход makespr для XashNT халфовский hud.txt. Он его читает, грузит с него все спрайты и объединяет их в атлас. Теперь у нас все элементы худа в одной текстуре. Можно так же просто подать на вход имя спрайта и он превратится в аналогичный атлас с внешним хидером.
Это для миграции с халф-лайфов. Для создания новых спрайтов надо просто наделать кадров и указать их на вход по маске. Ну возможны, конечно еще какие-то режимы работы, в будущем.

Добавлено 14-03-2020 в 19:53:

Между прочим поддерживаются поименованные кадры спрайтов. Этот хидер, который я разработал - это мета-контейнер на самом деле.

Вложение: hud_640.bmp (529.1 кб)
Этот файл был скачан 92 раз.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 14-03-2020 16:53
-
 Дядя Миша
racing for fish

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

Рейтинг



Наконец-то дошли руки опробовать тот упаковщик атласа, котоым так восторгался Психопат. Ну это который строит подобие BSP-дерева из ректанглов. Опробывал, результат в аттаче. Можете сравнить с верхним.
И ярко видна вот эта тенденция оставить правый нижний угол пустым. Если бы это было в 3д, я бы конечно предложил порубать изначальный объем надвое, но это блин картинки, их нельзя так разрубать
Правда справедливости ради стоит отметить, что это единственный фейл упаковщика - на остальных картинках меньшего размера, он довольно неплохо справился. Впрочем единственная его заслуга - картинки лежат приятно глазу. Но не слишком эффективно.

[ Вложение ]
hud_640.png

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 14-03-2020 20:30
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 17:14. Новая тема    Ответить
Страницы (245): « Первая ... « 72 73 74 75 [76] 77 78 79 80 » ... Последняя »   Предыдущая тема   Следующая тема
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