Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Формат текстур в 2018

Формат текстур в 2018

Страницы: 1 2 3 4 5 6 Следующая »
oxotnikПостоялецwww16 фев. 201818:13#0
В общем какой формат текстур стоит юзать в 2018 году для кросплатформенной разработки? (win, mac, ios, android, linux, кофеварка)
Сейчас юзаю .png. Пока устраивает(кроме скорости загрузки)
Есть вариант написать свои велосипеды.
Есть вариант юзать .dds
Недавно наткнулся на формат ktx? Как оно вообще? Можно юзать?

В общем кто что юзает?)

MisanthropeПостоялецwww16 фев. 201818:41#1
oxotnik
> Пока устраивает(кроме скорости загрузки)
ну дык скорость загрузки или размер файла, выбирай)
AndreyПостоялецwww16 фев. 201821:03#2
oxotnik
> В общем какой формат текстур стоит юзать в 2018 году для кросплатформенной
> разработки?
Можно везде DDS. Это всего лишь контейнер.
>Недавно наткнулся на формат ktx? Как оно вообще? Можно юзать?
Работает. На Windows в режиме OpenGL ES emulator'а, на Android тоже. юзать можно.
>В общем кто что юзает?)
Desktop Windows/Mac OS X/Unix - DDS
Android: Тут все сложнее, пока жив OpenGL ES 2.0(к примеру из-за Mali 400-mali 450) приходиться использовать разные форматы сжатия текстур с альфа каналом. Раньше было dds для Tegra, ktx - Adreno 20x, pvr - Power VR, tga для  Mali 4xx, Сейчас для OpenGL 3x можно DDS/KTX с сжатием ETC2 или более новым продвинутым ASTC.
IOS - рекомендуют pvr формат со своим сжатием PVRTC от Imagination Technologies.
ТатаринПостоялецwww16 фев. 201821:29#3
в чем профит ktx ? кто знает?
AndreyПостоялецwww16 фев. 201823:23#4
Татарин
> в чем профит ktx ? кто знает?
Под OpenGL разработан.
innuendoПостоялецwww17 фев. 201814:23#5
Татарин
> в чем профит ktx ? кто знает?

https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/

ТатаринПостоялецwww17 фев. 201814:46#6
innuendo
да я видел этот документ, просто интересно для чего нужен еще один стандарт, насколько я понял это просто контейнер в котором уже описаны формат текстуры и так далее, то что я раньше прописывал в коде для каждой текстуры там уже прописано в файле, для webgl не очень полезная функция так как там обычно все текстуры одного формата.
Андрей5000Постоялецwww17 фев. 201816:57#7
oxotnik
> какой формат текстур стоит юзать в 2018 году
Да юзай тот же самый что и в 2017. Все по прежнему
AndreyПостоялецwww17 фев. 201818:23#8
Татарин
>да я видел этот документ, просто интересно для чего нужен еще один стандарт, насколько я понял это просто контейнер в котором уже описаны формат текстуры и так далее
Это стандарт для OpenGL что-бы прямо взять и напрямую использовать значения glFormat, glInternalFormat для OpenGL функций типа
glTexImageXD
glTextureStorageXD
glCompressedTexImageXD
Если взять для сравнения DDS, то тебе придется разбирать DDSheader и/или DXT10_header, анализировать flags  и находить соответствия для OpenGL функций.
для PVR чуть проще, там просто switch на pixel format.
Иными словами KTX в разы проще для OpenGL/OpenGL ES, а если взять LibKTX так она вообще выдает готовый OpenGL Texture Id.

ChebПостоялецwww17 фев. 201821:34#9
Используй TGA упакованные в pk3 файл, если хочешь, чтобы можно было модить без мата и твоя карма спала спокойно.
Я только что имплементировал у себя всех этих форматов и автоматическое преобразование загруженной картинки в требуемый, что работает как в ГЛ так и в ГЛЕС. Да хоть жпег. Да хоть .PCX
Ощутив себя достиженцем, круче которого - только яйца, я начинаю с мудрым видом давать советы.

Правка: 17 фев. 2018 21:37

oxotnikПостоялецwww17 фев. 201821:52#10
Cheb
pk3 ? в 2018?
Вообще желательно что бы вообще нельзя было модить) НО мы это решаем всякими контрольными сумами всех ресов
barnesПостоялецwww17 фев. 201823:15#11
oxotnik
> pk3 ? в 2018?
Зип архив же))
МизраэльПостоялецwww18 фев. 201814:47#12
oxotnik
> Сейчас юзаю .png. Пока устраивает(кроме скорости загрузки)
ты используешь самый бесполезный формат для тексту. Разве что они у тебя мультяшные.
У нас в 2010-м был свой формат-контейнер, который позволял использовать разные компрессоры внутри вплоть до отдельного компрессора для заданных каналов: например карты нормалей + AO хранились как 3dc для nx,ny и grayscale jpeg для AO. Но это у нас была заморочка с минимизацией пакета ресурсов. Но этот же формат позволял хранить текстуры с максимизацией скорости загрузки. В идеале в design пайплайне у тебя должны быть несколько форматов файлов для разных типов текстур текстур, чтобы обеспечивать максимальное удобство работы художников, а при сборке билда все текстуры конвертируешь в целевой формат платформы. К текстурам кстати ещё метаинформация нужна, просто из контента файла ты не поймёшь, как правильно их жать.
oxotnikПостоялецwww18 фев. 201815:40#13
Мизраэль
Вот я и думаю свой велосипед юзать, но вот ktx выглядит примерно как я хочу свой сделать.
А чем уж так .png плох?
МизраэльПостоялецwww18 фев. 201816:13#14
oxotnik
> А чем уж так .png плох?
низкая степень компрессии для фотографических текстур, отсутствие мип-уровней, невозможность хранить 2 канала
Страницы: 1 2 3 4 5 6 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр