Вопрос Чем рендерить 500мб картинку?

На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,052
Реакции[?]
183
Поинты[?]
72K
Короче есть картинка 32000x29000, фулл минимапа игры, вся карта, мне нужно сделать эдитор маршрутов, у меня уже есть вся логика самих маршрутов, переноса world позиции в позицию на этой мапе, короче ВСЁ есть, но я не знаю что мне юзать что бы рендерить этого монстра.

Тот же имгуи просто сжирает 10гб озу и файл подкачки, а кьюты не хочу использовать потому что их ставить муторно, еще и разбираться, потому что я в них ни разу нихуя не делал
 
Участник
Статус
Онлайн
Регистрация
4 Мар 2021
Сообщения
898
Реакции[?]
179
Поинты[?]
93K
Короче есть картинка 32000x29000, фулл минимапа игры, вся карта, мне нужно сделать эдитор маршрутов, у меня уже есть вся логика самих маршрутов, переноса world позиции в позицию на этой мапе, короче ВСЁ есть, но я не знаю что мне юзать что бы рендерить этого монстра.

Тот же имгуи просто сжирает 10гб озу и файл подкачки, а кьюты не хочу использовать потому что их ставить муторно, еще и разбираться, потому что я в них ни разу нихуя не делал
поставь ещё 32 гб озу, и все будет заебись
 
Вафля
Участник
Статус
Оффлайн
Регистрация
24 Янв 2019
Сообщения
945
Реакции[?]
350
Поинты[?]
165K
Ебать ты ферзь, ну тут только оперативы докидывать, либо отдавать кому-нибудь на сервер
 
Начинающий
Статус
Оффлайн
Регистрация
12 Авг 2021
Сообщения
172
Реакции[?]
4
Поинты[?]
3K
Короче есть картинка 32000x29000, фулл минимапа игры, вся карта, мне нужно сделать эдитор маршрутов, у меня уже есть вся логика самих маршрутов, переноса world позиции в позицию на этой мапе, короче ВСЁ есть, но я не знаю что мне юзать что бы рендерить этого монстра.

Тот же имгуи просто сжирает 10гб озу и файл подкачки, а кьюты не хочу использовать потому что их ставить муторно, еще и разбираться, потому что я в них ни разу нихуя не делал
Chat GPT:
Для рендера такого огромного изображения (32000x29000) можно попробовать несколько подходов, чтобы избежать чрезмерного потребления ресурсов:

  1. Тайловый рендеринг (Tiled rendering): Разбей картинку на мелкие тайлы (например, 512x512 или 1024x1024) и рендери только те тайлы, которые видны в текущем окне. Это значительно сократит использование памяти. Можно использовать библиотеки вроде stb_image для загрузки изображений частями.
  2. OpenGL или DirectX: Рендеринг через графический API позволяет эффективнее использовать ресурсы. С OpenGL можно загружать текстуру частями и отображать только нужные фрагменты.
  3. SDL2: Простая библиотека для 2D графики, поддерживает рендеринг на GPU и работу с текстурами. SDL легко настраивается, и у неё не такие большие требования к ресурсам.
  4. NanoVG: Это векторная графическая библиотека, но её можно использовать для отрисовки крупных изображений, применяя техники вроде тайлового рендеринга.
Как вариант, можно комбинировать SDL2 и OpenGL для рендеринга, что обеспечит высокую производительность и гибкость.
 
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,052
Реакции[?]
183
Поинты[?]
72K
Короче затапал этого хомячка тайлами. Правда при сильном скроллинге мапы, озу начинает кушать
1725825279802.png
 
Начинающий
Статус
Оффлайн
Регистрация
20 Апр 2021
Сообщения
265
Реакции[?]
19
Поинты[?]
4K
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,052
Реакции[?]
183
Поинты[?]
72K
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Начинающий
Статус
Оффлайн
Регистрация
5 Фев 2023
Сообщения
271
Реакции[?]
20
Поинты[?]
23K
Короче есть картинка 32000x29000, фулл минимапа игры, вся карта, мне нужно сделать эдитор маршрутов, у меня уже есть вся логика самих маршрутов, переноса world позиции в позицию на этой мапе, короче ВСЁ есть, но я не знаю что мне юзать что бы рендерить этого монстра.

Тот же имгуи просто сжирает 10гб озу и файл подкачки, а кьюты не хочу использовать потому что их ставить муторно, еще и разбираться, потому что я в них ни разу нихуя не делал
1 вопрос ЗАЧЕМ ТЕБЕ ТАКОЕ РАЗРЕШЕНИЕ КАРТИНКИ???
 
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,052
Реакции[?]
183
Поинты[?]
72K
Ну уж точно не задавать координатами куда след шаг сделать.
да ты шутишь? он нужен для редактирования записанного маршрута, это не шаги, это точки между которыми расстояние около 10 метров в игровом мире. (upd) блять я подумал я самый последний скрин закинул.
БЕ ТАКОЕ РАЗРЕШЕНИЕ КАРТИНКИ???
Карта в игре очень крупная и наполненная, нужна большая точность
вот тут минимальное расстояние между точками около 10 метров.1725885224163.png
 
Начинающий
Статус
Оффлайн
Регистрация
12 Авг 2021
Сообщения
172
Реакции[?]
4
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
21 Сен 2022
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Если такая карта в игре - можно написать Compute шейдер, который будет интерполировать между тайлами, пускай там... тайл будет один занимать приблизительно от 20 units, тогда берётся средний цвет, (можно посчитать по алгоритму APCA), затем можно просто шейдер второй написать, который будет это всё дело выстраивать, ну и UV будет по сути Panning делать. затем просто сразу пустить это в GLFW тот-же и всё) Работает. В Compute shader можно пускать данные о геометрии, или сами спрайты (если 2d)
 
Сверху Снизу