Android dxt atc 2 astc

Android: Формат сжатых текстур

Привет. Хотел узнать у вас по поводу «железных» текстур.

Сделал поддежку 3х форматов

  • S3DS (DXT 1 — 5) Это для чипов NVIDIA Tegra
  • PVR — для PowerVR’s
  • ATITC — для Adreno

    Все наборы текстур будут идти в комплекте с игрой, и в зависимости от типа поддерживаемого расширения будут загружаться нужные

    Выбор по расширирениям

    И еще вопрос, как быть с Mali ?
    Из расширений которые они поддерживают
    Все какие то не ведомые

    GL_OES_texture_compression_astc
    GL_KHR_texture_compression_astc_hdr
    GL_KHR_texture_compression_astc_ldr
    GL_OES_compressed_ETC1_RGB8_texture — не пойдет, по причине отсуцтвия альфа канала. Вариант с двумя текстурами, тоже вариант, но пока не до него!

    Раздел Android Texture Formats: https://docs.unrealengine.com/latest/INT/Platforms/Android/Refere… extureformats
    Я делал билды с ETC2, и нормально работало на малишных девайсах.

    wmask
    > Раздел Android Texture Formats:
    > https://docs.unrealengine.com/latest/INT/Platforms/Android/Refere…
    > extureformats
    > Я делал билды с ETC2, и нормально работало на малишных девайсах.
    Супер, спасибо.

    А как узнать поддерживает ли устройсво ETC2 ?
    Чет сколько смотрю, у всех GL_OES_compressed_ETC1_RGB8_texture, а чтобы ETC2 ни у кого не ведать

    К примеру вот последний Mali

    Или поддежка Open GL ES 3.0 автоматически гарантирует 100% что будет работать ETC2 ?

    Просто к примеру проц который используется в iPhone 5s хоть и поддерживает ES 3.0 но ETC2 точно нет!

    FDsagizi
    > А как узнать поддерживает ли устройсво ETC2 ?
    Не знаю. Я просто в википедии смотрел: если у девайса гпу мали, то делал билд под ETC2.

    FDsagizi
    > GL_OES_texture_compression_astc
    > GL_KHR_texture_compression_astc_hdr
    > GL_KHR_texture_compression_astc_ldr
    Это вообще самый крутой формат. Поддерживает всё, можно регулировать степень сжатия. Можно даже сжать так, что плотность данных будет меньше бита на пиксель. Вроде этот формат планируют вводить в следующие версии OpenGL и OpenGL ES.

    FDsagizi
    > Или поддежка Open GL ES 3.0 автоматически гарантирует 100% что будет работать ETC2 ?
    Не факт, что аппаратной поддержки достаточно. Надо, чтобы ещё версия Android была от 4.3.

    FDsagizi
    > Просто к примеру проц который используется в iPhone 5s хоть и поддерживает ES
    > 3.0 но ETC2 точно нет!
    А вообще айфоны поддерживают OpenGL ES 3.0? Если проц поддерживает, то не факт, что драйвер есть. Они вроде как свой API Metal продвигать хотели, а на OpenGL ES выше 2.0 забить. Но я не очень за ним слежу, могу и ошибаться.
    В общем, если устройство заявляет поддержку OpenGL ES 3.0, но не поддерживает ETC2, то оно врёт и OpenGL ES 3.0 не поддерживает, потому что ETC2 часть стандарта.

    FDsagizi
    > Все наборы текстур будут идти в комплекте с игрой, и в зависимости от типа
    > поддерживаемого расширения будут загружаться нужные
    Почему бы не собирать разные APKшки с разными форматами текстур под разные GPU, чтобы пользователи качали только нужные им текстуры? Если ты уже используешь Gradle (а не устаревший ADT), это делается элементарно.

    FDsagizi
    > И еще вопрос, как быть с Mali ?
    Грузить tga.
    > Все ли верно?
    Да. Я так-же делаю. Но ты врядли встретишь расширение GL_ATI_texture_compression_atitc. GL_AMD_compressed_ATC_texture достаточно
    wmask
    > Я делал билды с ETC2, и нормально работало на малишных девайсах.
    >если у девайса гпу мали, то делал билд под ETC2.
    ETC2 не держат Mali ниже T6x т.е. те что не держат OpenGL ES 3.x. Например очень распространенные Mali 400/Mali 450. На каких девайсах это могло работать? может для старых все таки были tga/png ?

    Andrey
    > ETC2 не держат Mali ниже T6x т.е. те что не держат OpenGL ES 3.x. Например
    > очень распространенные Mali 400/Mali 450.
    Странно все это. Вот тут Mali 400 упоминается, а по ссылке в моем первом посте написано, что для мали нужно ставить ETC2. В общем, это уже сами разбирайтесь, я глубоко не копался, даю ссылки на вики UE4. Можно, кстати, посмотреть там исходный код, как они определяют, что использовать.

    Читайте также:  Андроид авто фольксваген пассат

    Сам я, естественно, не тестил на старых девайсах, но эпики пишут: Expected — Device has passed Functional testing

    Так — по скольку у нас OpenGL ES 3.0 обязателен, и Areno 330 мин видео карта.

    Получается что ATI TC не нужен, т.к. Adreno 330 прекрасно работает с ETC2

    Adreno 330 и Mali — ETC2
    Nvidia — DXT1
    Pover WR — PVR

    кстати а как дела с графикой от Intel ? Которая на андроиде идет? На компе то — она спокойно работаетc S3TC(DXT1)

    Кстати посмотреть поддежку текстур, лучше смотреть через — OpenGL Extension Viewer

    FDsagizi
    >и Areno 330 мин видео карта.
    точнее 305 минимум
    >Nvidia — DXT1
    >Pover WR — PVR
    А разве они в случае OpenGL ES 3.0 не держат ETC2 ? если так то для OpenGL ES 3.0 вообще выбрать ETC2, а лучше GL_OES_texture_compression_astc

    Andrey
    > > vidia — DXT1
    > > over WR — PVR
    > А разве они в случае OpenGL ES 3.0 не держат ETC2 ? если так то для OpenGL ES 3.0 вообще выбрать ETC2

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

    Andrey
    > а лучше GL_OES_texture_compression_astc

    Хорошо посмотрю! А не подкинете ссылку, где можно глянуть сравнение и как сжать — либу. А то гугл меня немного в ступор вводит))

    FDsagizi
    > Нету таких устройств, надо смотреть — у нас в городе(Астана) либо блотные, либо
    > дешевые, а на тегре — для геймеров уже несыщешь. На каком форме можно задать
    > вопрос, чтобы узнать такую инфу ?
    То есть ты не веришь, что ETC2 есть везде, где есть OpenGL ES 3.0 и хочешь это проверить?

    FDsagizi
    > Хорошо посмотрю! А не подкинете ссылку, где можно глянуть сравнение и как
    > сжать — либу. А то гугл меня немного в ступор вводит))
    Если не ошибаюсь, есть тулза от Mali, которая сжимает в ASTC и ETC1\2. Только для её скачивания надо вроде бы зарегистрироваться на их сайте.

    Зачем удалил моё сообщение? Каким таким правилам оно не соответствует?

    Источник

    UEngine.Ru

    Русскоязычное сообщество Unreal Engine 4

    Требуется помощь в билде игры на андроид

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

    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): ERROR: System.ArgumentException: Staged filesystem reference may not start with a path separator or contain an empty path fragment (trolls\Content\Assets\backgrounds\candy\1\sprite\33_background.uasset)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в StagedFileSystemReference..ctor(String InName)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в StagedFileReference..ctor(String Name)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в Project.CreateStagingManifest(ProjectParams Params, DeploymentContext SC)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в Project.CopyBuildToStagingDirectory(ProjectParams Params)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в BuildCookRun.DoBuildCookRun(ProjectParams Params)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в BuildCookRun.ExecuteBuild()
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.BuildCommand.Execute()
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Automation.Execute(List`1 CommandsToExecute, Dictionary`2 Commands)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Automation.Process(String[] Arguments)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Program.MainProc(Object Param)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Program.Main()
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): (see C:\Users\DENIS\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+programmes+UE_4.19\UAT_Log.txt for full exception trace)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): AutomationTool exiting with ExitCode=1 (Error_Unknown)
    UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): BUILD FAILED
    PackagingResults: Error: Unknown Error

    это из-за нижнего подчёркивания или чего то другого? Я не понимаю

    Читайте также:  Command line tools only android sdk

    проблема решена. Это было из-за 4.19 версии. В 4.19.1 уже всё нормально

    Источник

    Android dxt atc 2 astc

    В настоящее время Android-приложения хранят свой код в файле «classes.dex».
    При декомпиляции приложения, «classes.dex» разберается на файлы *.SMALI, в каждом из которых содержется своя часть кода — которая доступна нам для редактирования.

    GetInternalFilesDir() — назначает место расположения кэша при невозможности сохранения на SD-карту.
    На данный момент располагается в «smali\com\blizzard\wtcg\hearthstone\FileUtils.smali»
    Заменив содержимое метода целиком на нижеприведенный, кэш будет устанавливаться в «Android/data» пользовательской памяти, вместо «data/data» системного раздела

    SetHSTextureFormat — определяет тип используемого кэша.
    На данный момент располагается в «smali\com\blizzard\wtcg\hearthstone\DeviceSettings.smali»
    Заменив содержимое метода целиком на нижеприведенный, игра будет работать только с кэшем «ETC1», игнорируя поддержку «ASTC», «ATC», «PVRTC» и «DXT»

    installApk — запускает процедуру проверки и обновления приложения.
    Заменив содержимое метода целиком на нижеприведенный, приложение будет пропускать данную проверку.

    Assembly-CSharp.dll содержит в себе множество функций всего происходящего в игре.
    Изменяя их, мы можем поменять практически любое событие.

    Network > GetPlatformBuilder — определяет информацию об устройстве, которая в итоге отправляется на игровой сервер.
    Можно использовать для получения подарков по акции «Galaxy Gift», изменив код на такой:

    TimeScaleMgr > Update — здесь можно изменить скорость проигрывания анимаций в игре.
    В данном примере выставлено трехкратное ускорение игры.

    Игровой движок Unity3D поддерживает с десяток форматов текстур, часть из которых шустро работают на одном устройстве, но вызывает фризы на другом.
    Для сборки приложения под Android, Unity3D предоставляет возможность сжать все текстуры в один из шести типов:

    Текстуры в форматах ETC и RGBA поддерживаются практически во всех устройствах на Android.
    ATC, PVRTC и DXT — чипо-зависимые, и, обычно, устройством поддерживается только один из этих форматов.
    ETC2 — требует Android 4.3 или новее, и поддержку OpenGL ES 3.0
    ASTC — требует Android 5.0 или новее, и поддержку OpenGL ES 3.2 (либо OpenGL ES 3.1 + Android Extension Pack).
    Если устройство не поддерживает текстуры используемого вами кэша, то игра попытается их переконвертировать на лету в RGBA32 — что позволит отобразить весь игровой контент, но из-за дополнительной нагрузки на процессор — появятся фризы и провисания FPS.

    Для сборки Low-End Mod’а рекомендую уменьшать текстуры с каналом прозрачности (альфа-каналом) до 64x64px, и сохранять в DDS с форматом ARGB4444, без мипмапов.

    [Mobile]
    Store = Google
    Mode = Production

    Если на мобильном устройстве отсутствует GooglePlayMarket, то в игре перестаёт быть доступным внутриигровой магазин.
    Но если мы изменим значение параметра Store на Battle.net, то магазин будет доступен и без стороних сервисов.

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

    Здесь значение Android Phone можно заменить на Android Tablet, и это привёд к тому что будет принудительно запускаться планшетный интерфейс.
    Более подробное описание доступно в этом посте: Hearthstone[3D, Online] (Пост zloyted #63567819)

    Для игроков PC-версии игры, существуют параметры запуска игры минуя Battle.net-клиент.
    Делается это просто, добавлением вот этих строк:

    • кэш размещается в «Android/data» пользовательской памяти, вместо «data/data» системной памяти
    • занижены минимальные требованиятройству для запуска приложения

    Hearthstone v11.4.25447 mod.apk ( 41.7 МБ )

    Читайте также:  Обои гугл пиксель андроид

    Hearthstone v11.4.25447 LEM ETC1.apk ( 37.71 МБ )
    Hearthstone v11.4 LEM ETC1 cache.7z ( 108.33 МБ )

    Распаковать Assembly-CSharp.dll и поместить по пути «Hearthstone\Hearthstone_Data\Managed\«, заменив оригинал (строго рекомендуется сделать копию оригинального файла).

    Список изменений:

    • добавлено управление скоростью анимации в игре ползунком в левой части окна игры, и стрелками на клавиатуре
    • убран эффект тряски камеры
    • добавлена возможность получить подарки по акции GalaxyGift
    • принудительно используется магазин Blizzard (полезно при использовании мобильного интерфейса)
    • все отсутствующие карты в коллекции отображаются в цвете

    Hearthstone PC 11.4 MixMod.zip ( 2.34 МБ )

    Поэтапные шаги:

    1. Установка модифицированного приложения
      приложение необходимо устанавливать с нуля, чтобы избежать случаи с непредвиденными ошибками с уже установленным приложением
    2. Запуск приложения
    3. Выбор места расположения кэша (если доступна SD-карта)
      если SD-карта не доступна, или приложение игры не может произвести на неё запись — кэш пишется во внутреннюю память.
      стоит заметить, что на некоторых устройствах внутренняя память определяется как SD-карта, и наоборот.
    4. Ожидание начала загрузки кэша
      ждать надо до отображения числа размера скачиваемого кэша
    5. Закрытие процесса приложения
      важно ‘убить’ процесс игры, чтобы не было фоновой загрузки
    6. Распаковка кэша в «Android/data»
      когда диспетчер потребует подтверждение замены файла «product.db» — соглашайтесь
      если запроса НЕ было, то скорей всего кэш устанавливается вами НЕ в необходимое место
    7. Запуск приложения
      на предложение авторизоваться через Google Drive — лучше отвечать отрицательно, иначе игра может просто начать вылетать при запуске
    1. TORNADO74 — KRAKEN#21183 — 80 голды!
    2. IceArms — Zephirus#21683 — 240 голды!
    3. Taridax — Taridaks#2987 — 240 голды!
    4. xoxolok2001 — EverGod#2560 — 80 голды!
    5. StrangerHT#2666 — 240 голды!
    6. AlehandroHeaven — Heavy#2820 — 400 голды!
    7. fhpbubzy — GeroinOoO#2497 — 80 голды!
    8. Yeasy#2988 — 80 голды!
    9. qgreen#2775 — 80 голды!
    10. alexey_boo — thankyouguys#2842 — 240 голды!
    11. Inquisitor#2543 — 160 голды!
    12. pozitivman_ — pozitivman#21285 — 80 голды!
    13. Van0sss — Vanosss#2441 — 80 голды!
    14. vasyapip — Midnight#21309 — 240 голды!
    15. chaszk#2551 — 80 голды!
    16. StormFire#2118 — 160 голды!
    17. OSSarr — Amaringo#2209 — 80 голды!
    18. Владимир Патриот — BJIaguMUP#2385 — 240 голды!
    1. StrangerHT#2666 — 240 голды!
    2. Benedikt#2580 — 80 голды!
    3. lucifer4RZ#2218 — 80 голды!
    4. Midnight#21309 — 80 голды!
    5. BJIaguMUP#2385 — 240 голды!
    6. StormFire#2118 — 160 голды!
    7. Dromok#21399 — 160 голды!
    8. ILyCH#2605 — 80 голды!
    9. Heyterj1#2686 — 80 голды!
    10. Галви#2490 — 160 голды!
    11. yelcin#2749 — 80 голды!
    12. lekvisitor#2928 — 240 голды!
    13. IvanWolf#2230 — 160 голды!
    14. Taridaks#2987 — 80 голды!
    15. LSDDope#2563 — 160 голды!
    16. forZe#21892 — 80 голды!
    17. Carti#2704 — 160 голды!
    18. zapadlo#2546 — 160 голды!
    19. Boommi#2851 — 320 голды!
    20. Игорёк#2151 — 160 голды!
    21. Vanosss#2441 — 160 голды!

    1. StrangerHT#2666 — 80 голды!
    2. erfapix#2776 — 80 голды!
    3. Boommi#2851 — 80 голды!
    4. Benedikt#2580 — 80 голды!
    5. IvanWolf#2230 — 80 голды!
    6. Amaringo#2209 — 80 голды!
    7. andremede#. — 80 голды!

    Спасибо ВАМ за поддержку! :thank_you:

    Hearthstone_11.0.23966_Low-End Mod.apk ( 31.37 МБ )
    Hearthstone_11.0_cache_LEM_v2.7z ( 117.32 МБ )

    Hearthstone_11.0_cache_LEM_patch_24118.7z ( 2.93 МБ )
    Hearthstone PC 11.0 MixMod.7z ( 1.81 МБ )
    Hearthstone_11.0.23966_mod.apk ( 38.14 МБ )
    Hearthstone PC 11.1 MixMod.7z ( 1.81 МБ )
    Hearthstone_11.1_mod.apk ( 38.13 МБ )
    Hearthstone_11.1.24377_LEM.apk ( 36.39 МБ )
    Hearthstone_11.1.1_LEM_v2.apk ( 31.35 МБ )
    Hearthstone PC 11.1 MixMod fix.7z ( 1.81 МБ )
    Hearthstone PC v11.1.1 MixMod.7z ( 1.8 МБ )
    Hearthstone_11.1.1_LEM_v2_fixed.apk ( 31.35 МБ )
    Hearthstone_v11.1_cache_LEM.7z ( 101.59 МБ )
    Hearthstone_v11.1.1_cache_LEM_patch.7z ( 2.92 МБ )
    Hearthstone PC v11.1.1 MixMod v2.7z ( 1.81 МБ )
    Hearthstone_11.1.1_mod.apk ( 38.13 МБ )
    Hearthstone v11.2 LEM.apk ( 38.73 МБ )
    Hearthstone v11.2 cache LEM rev2.7z ( 104 МБ )
    Hearthstone v11.2 ASTC (GLES 3.2).apk ( 38.73 МБ )
    Hearthstone PC v11.2 MixMod.7z ( 1.85 МБ )
    Hearthstone v11.2 mod.apk ( 42.71 МБ )

    Сообщение отредактировал DeNcHiK6281505 — 30.11.21, 22:31

    Источник

  • Оцените статью