2015-09-02 7 views
9

Я использую 24-бит .png с Alpha, из Photoshop, и просто попробовал .psd, который отлично работал с OpenGL ES, но Metal не видел альфа-канал.Самый эффективный формат изображения для SCNParticles?

Что представляет собой абсолютно совершенный формат текстур для частиц внутри SceneKit?

Вот, пожалуйста, лист для проверки, если это необходимо.

Он выглядит белым ... щелкните правой кнопкой мыши и сохраните как в пустом пространстве. Это альфа-тяжелый набор колец. Вы, вероятно, едва сводят их, если косоглазие на экране:

enter image description here

преувеличено пример использования:

https://www.dropbox.com/s/vu4dvfl0aj3f50o/circless.mov?dl=0

enter image description here

// Дополнительные баллы для тех, кто может угадать разница между левым и правым кольцами в видео.

+0

Благодарим за то, что заставило меня подумать, что мой экран нуждается в чистке ... И «исполнитель» - это ласковое слово: вы хотите быстрее, с большей функциональностью или чем-то еще? – Roddy

+0

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

ответ

3

Используйте полутоновый/альфа-PNG, а не RGBA. Поскольку он использует 16 бит на пиксель (8 + 8) вместо 32 (8 + 8 + 8 + 8), начальная загрузка текстуры будет быстрее и может (в зависимости от графического процессора) использовать меньше памяти. Тем не менее, во время рендеринга вы не увидите большой разницы в скорости, так как любой формат текстуры все равно используется для полного буфера рендеринга RGB (A).

Там также PVRTC, которые вы можете получить вниз, как низко как 2-4 бит на пиксель, но я попытался Imagine’s tool на вашем изображении и даже самые высокие настройки качества вызвало кучу артефактов, как ниже:

PVR artifacts

Короткий длинный рассказ: перейти с оттенками серого и альфа-PNG, которые вы можете легко экспортировать из Photoshop. Если ваша система частиц повреждает вашу частоту кадров, уменьшите количество и/или размер частиц - в этом случае вы можете уйти с наложением нескольких изображений ваших частиц друг на друга в исходном текстурном атласе, которые могут быть не слишком заметными, если вы выбираете те, которые различаются по размеру.

+0

Так что, кроме загрузки и сжатия, разница между текстурами на устройстве некорректна, потому что графические процессоры iOS всегда делают его одним и тем же типом RGB (A)? – Confused

+0

Насколько я знаю, да. –

+0

Я читал о разных форматах с более низкой битовой глубиной, но не настолько радикально низким, как PRVTC. Как 4 бит на цвет, и тому подобное. Есть ли в любом случае, что использование 4 бит на цветную текстуру может удвоить скорость аддитивного смешивания по 8-битовому цветному текстурному формату? ... очевидно, если GPU может хранить и использовать 4-битный как 4 бит. Но такие исследования действительно причиняют мне боль. Воображающие документы не предназначены для таких, как я. – Confused