HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 223 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- Нубские вопросы (https://hlfx.ru/forum/showthread.php?threadid=2218)


Отправлено FiEctro 28-03-2023 в 08:23:

Такой вопрос, есть уровень 2д из тайлов, например размером 100х100 тайлов, что будет лучше, склеить их в одну картинку при загрузке или отрисовать все 10000 прямоугольников отдельно с текстурой тайлов? При том учитывая что текстура одного тайла может быть например 256x256 пикселей, и я так посчитал что клеить их в одну текстуру что то уж дофига большое разрешение получается. Отрисовка DirectX 9.

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


Отправлено ZGreen 28-03-2023 в 09:06:

Исходя из информации (слухах) о принципах работы современных видеокарт, тебе надо надо все склеивать в атласы максимально возможного размера.

Добавлено 28-03-2023 в 16:06:

И не при загрузке, а при вгрузке надо склеить. Кстати, 10000 уникальных тайлов это крутовато, у тебя пример просто теоретический?


Отправлено FiEctro 28-03-2023 в 10:18:

Цитата:
ZGreen писал:
10000 уникальных тайлов это крутовато


Не обязательно уникальных. Просто 10000 вызовов отрисовки спрайтов в цикле.

Цитата:
ZGreen писал:
Исходя из информации (слухах) о принципах работы современных видеокарт, тебе надо надо все склеивать в атласы максимально возможного размера.


Это так сейчас и реализовано, но пугает разрешение картинки в 25к. Оно же в несжатом виде ещё в оперативку грузится и занимает в районе гигабайта - полтора. А это только 1 слой, таких слоёв может быть с десяток. ФПС вроде как особо и не падает от этого. Но интересно какие видеокарты держат картинки такого разрешения, а какие нет? Плюс сама склейка с загрузкой в память происходит довольно долго, около 10 секунд.


Хотя не, вру. Если запускать вне студии, то проект при сшивании жрёт чуть больше 100мб ОЗУ и потом падает до 40мб, но всеравно сшивает долго.

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


Отправлено Дядя Миша 28-03-2023 в 12:02:

Для десяти тысяч квадов, как ни извращайся, но разницу ты не почувствуешь. Ни на десктопах ни на телефонах. Может на RivaTNT была бы разница.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 28-03-2023 в 12:05:

FiEctro квады ты можешь отсекать по вьюпорту. Или тебе нужно отобразить их на одном экране? Тогда проще прекалькуляцию в файл произвести, как оверлеи для карт в CS

__________________
-Brain is dead-


Отправлено FiEctro 28-03-2023 в 13:19:

Так такие разрешения картинок слоёв это норма?

Добавлено 28-03-2023 в 16:19:

Цитата:
Дядя Миша писал:
Для десяти тысяч квадов, как ни извращайся, но разницу ты не почувствуешь.


Т.е. лучше их не сшивать? На производительность это никак не повлияет, но при этом увеличит скорость загрузки?

Цитата:
KiQ писал:
FiEctro квады ты можешь отсекать по вьюпорту. Или тебе нужно отобразить их на одном экране? Тогда проще прекалькуляцию в файл произвести, как оверлеи для карт в CS



Мне нужно отрисовать тайловую карту из файла. Для этого делается цикл где каждой клеточки тайла задаётся отдельный спрайт с ссылкой на текстуру и UV координатой. В нашем случае это карта 100х100 клеточек, а значит нужно отрисовать 10000 спрайтов. У всех их одна текстура, но UV сдвинута так чтобы рисовался только нужный участок тайлсета.

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

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


Отправлено Дядя Миша 28-03-2023 в 13:36:

Ну вот смотри у тебя картинки вполне кошерного размера и кратные двойке. На кой ляд ты собрался их сшивать?
Лайтмапы сшивают, потому что там куча мелкого дерьма размеров 1х1, 2х7, 5х3 и прочего.

Добавлено 28-03-2023 в 16:34:

Цитата:
FiEctro писал:
В нашем случае это карта 100х100 клеточек, а значит нужно отрисовать 10000 спрайтов

Мысленно представь, что консолька в халфе - это твои десять тысяч тайлов, только вместо картинок - буквы. Оно и в 98-м году не тормозило. А рисовалось точно также - в цикле и по буковке. И до сих пор зачастую рисуются именно так, безо всякой оптимизации. Ну потому что некритично.
Я даже через свою виртуальную машину в меню рисовал эти грёбанные буквы и то не заметил драматического падения производительности.

Добавлено 28-03-2023 в 16:36:

ЗЫ. Если DX уронит фпс во время отрисовки этих тайлов из-за высокой стоимости дипа, я буду очень долго ржать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 28-03-2023 в 13:48:

Цитата:
Дядя Миша писал:
ЗЫ. Если DX уронит фпс во время отрисовки этих тайлов из-за высокой стоимости дипа, я буду очень долго ржать.


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

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


Отправлено ZGreen 28-03-2023 в 14:42:

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


Отправлено Дядя Миша 28-03-2023 в 14:57:

Цитата:
FiEctro писал:
А что за дип?

один вызов Draw Indexed Primitive

Цитата:
FiEctro писал:
Надеюсь ещё не появятся мерзкие щели между тайлами?

Ну если оформишь вертексы в целочисленный формат - обязательно появятся, даже не сомневайся.

Цитата:
FiEctro писал:
Я до этого рисовал на виндовсформах

Округлять не пробовал?

Цитата:
ZGreen писал:
Как из моноширинного сделать обычный?

ДА НЕ КАК!

Добавлено 28-03-2023 в 17:57:

Ну хотя, с учётом современных реалий. Может есть какая-то специально обученная нейросеть?

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 28-03-2023 в 15:35:

Цитата:
Дядя Миша писал:
ДА НЕ КАК!


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

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


Отправлено ZGreen 28-03-2023 в 16:23:

А в пробеле сколько пикселей?


Отправлено FiEctro 28-03-2023 в 16:45:

ZGreen
Ну логично если в чарактере нет вообще пикселей то это пробел, и его обрезать не надо

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


Отправлено ZGreen 28-03-2023 в 16:49:

Теперь я потерял нить рассуждения. Можешь описать свою задачу? А то моноширинный шрифт переделать в обычный и т д. Может мы в терминах расходимся? Я некоторое время имел отношение к издательской деятельности и с шрифтами у меня определенные ассоциации. Что имеешь в виду ты?


Отправлено FiEctro 28-03-2023 в 16:53:

ZGreen
Чтобы ширина каждого чарактера была своя. Например символы "I" и "W" имеют разную ширину.

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


Отправлено ZGreen 28-03-2023 в 16:57:

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

Добавлено 28-03-2023 в 23:57:

code:
I W


По сути одинаковая ширина. Буквы специально так нарисованы, чтобы компенсировать недостатки метода набора.


Отправлено FiEctro 28-03-2023 в 16:59:

ZGreen
Скорее просто расстояние между буквами очень большое. А если их сделать уже, то уже сильнее заметно как это расстояние плавает, ибо в самом шрифте буквы нарисованы разной ширины.

Цитата:
ZGreen писал:
Так ты выводи каждый символ с оффсетом


Так, а где этот оффсет взять?

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


Отправлено ZGreen 28-03-2023 в 17:01:

У тебя шрифт какой используется, что такие проблемы?


Отправлено FiEctro 28-03-2023 в 17:02:

Цитата:
ZGreen писал:
У тебя шрифт какой используется, что такие проблемы?


Обычная битмаповая картинка, вроде этой: https://www.moddb.com/addons/font-f...-shooters-farts

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


Отправлено ZGreen 28-03-2023 в 17:03:

Если шрифт с кернингом, можешь в фотошопе сетку покрупнее сделать, набрать символы и в параметрах текста выбрать тип кернинга, оптический или по метрике в шрифте (если есть) ну и там по пикселям посмотреть-посчитать. Так мне было бы проще всего. У меня контейнер шрифтовой разбирать ума не хватат, хотя описания формата в сети, конечно, есть.


Отправлено FiEctro 28-03-2023 в 18:45:

У кого нибудь есть ASCII таблица символов в кодировке UTF-16? Русская раскладка там за 1000 переваливает. Интересно какие там граничащие символы.

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


Отправлено Дядя Миша 28-03-2023 в 19:47:

Цитата:
FiEctro писал:
Ну так то можно проверять альфу по высоте в каждом чарактере

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 28-03-2023 в 19:52:

Дядя Миша
Есть какая нить утилита которая бы могла генерить битмапу и записывать все эти данные в отдельный файл?

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


Отправлено Дядя Миша 28-03-2023 в 21:30:

Цитата:
FiEctro писал:
Есть какая нить утилита которая бы могла генерить битмапу и записывать все эти данные в отдельный файл?

Есть. В самой первой бете ксаша была утилита для генерации растровых шрифтов.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 29-03-2023 в 21:30:

Дядя Миша
Можно ссылку?

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


Временная зона GMT. Текущее время 10:15. Страницы (2): « 1 [2]
Показать все 223 сообщений этой темы на одной странице

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