HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Нубские вопросы
Теория создания игры
2 голосов
Страницы (15): « Первая ... « 10 11 12 13 [14] 15 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
0r@ngE
Новичок

Дата регистрации: Oct 2005
Проживает: :закусывает::выпивает
Сообщений: 8
Возраст: 37

Рейтинг



Вопрос отпадает всем спасибо, ночь выдалась продуктивной порешал.

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

Старое сообщение 14-03-2023 14:03
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


0r@ngE
Поделись тогда уж формулами с народом, вдруг кому пригодится.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

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

Старое сообщение 14-03-2023 14:32
-
erfty
Частый гость

Дата регистрации: Feb 2023
Проживает: Лунинец
Сообщений: 78

Рейтинг



Что выбрать для 3д рендеринга, SDL иль Opengl? По критериям поддерживаемых устройств и производительности.

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

Старое сообщение 20-03-2023 11:33
- За что?
FiEctro
Кот Арсис

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

Рейтинг



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

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

Старое сообщение 28-03-2023 08:23
- За что?
ZGreen
Житель форума

Дата регистрации: Sep 2007
Проживает: Красноярск
Сообщений: 289
Возраст: 36

Рейтинг



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

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

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

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

Старое сообщение 28-03-2023 09:06
- За что?
FiEctro
Кот Арсис

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

Рейтинг



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


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

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


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


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

Отредактировано FiEctro 28-03-2023 в 10:21

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

Старое сообщение 28-03-2023 10:18
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-03-2023 12:02
-
KiQ
Житель форума

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

Рейтинг



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

__________________
-Brain is dead-

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

Старое сообщение 28-03-2023 12:05
- За что?
FiEctro
Кот Арсис

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

Рейтинг



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

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

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


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

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



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

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

Отредактировано FiEctro 28-03-2023 в 13:34

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

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

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

Рейтинг



Ну вот смотри у тебя картинки вполне кошерного размера и кратные двойке. На кой ляд ты собрался их сшивать?
Лайтмапы сшивают, потому что там куча мелкого дерьма размеров 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'

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

Старое сообщение 28-03-2023 13:36
-
FiEctro
Кот Арсис

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

Рейтинг



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


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

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

Старое сообщение 28-03-2023 13:48
- За что?
ZGreen
Житель форума

Дата регистрации: Sep 2007
Проживает: Красноярск
Сообщений: 289
Возраст: 36

Рейтинг



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

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

Старое сообщение 28-03-2023 14:42
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

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

Старое сообщение 28-03-2023 14:57
-
FiEctro
Кот Арсис

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

Рейтинг



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


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

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

Старое сообщение 28-03-2023 15:35
- За что?
ZGreen
Житель форума

Дата регистрации: Sep 2007
Проживает: Красноярск
Сообщений: 289
Возраст: 36

Рейтинг



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

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

Старое сообщение 28-03-2023 16:23
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 14:51. Новая тема    Ответить
Страницы (15): « Первая ... « 10 11 12 13 [14] 15 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Нубские вопросы
Теория создания игры
2 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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