Мы используем файлы cookie, чтобы упростить навигацию на этом сайте. Если вы даете свое согласие на использование файлов cookie и обработку ваших персональных данных, нажмите «Принимаю».

Anti-Alias рендер и AR-режим

Домой Форумы Puzzles Anti-Alias рендер и AR-режим

Помечено: , , ,

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #17941
    Артём
    Customer

    Добрый день, уважаемые разработчики Verge и разработчики приложений на Verge!
    Использую связку с пазлом “disable rendering” что бы после всех перемещений вокруг объекта в приложении, объект рендерило AA (anti-alias).

    Всё было хорошо, пока не дошло дело до подключения AR-режима. Заметил, что указанный выше пазл конфликтует с AR. Решение поидее простейшее – создаю переменную, которая следит за нажатием кнопки AR-режима. Нажимаю кнопку, переменная меняется на “true” и срабатывает цепочка ограничений (процедура freeze-unfreeze) для включения рендеринга (в этой цепочке – все переменные, отслеживающие движение камеры, анимации и т.д.).

    Но по какой-то причине это не срабатывает. АR запускается, но содержимое сцены, становящееся видимым при входе в AR, не отображается.

    Как лучше поступить в данной ситуации? Без AA домик смотрится как из игр 90ых ))

    Вложения:
    Вы должны войти для просмотра вложений.
    #17944
    Артём
    Customer

    https://v3d.net/8j6 ссылка на само приложение (AA отключен для работоспособности AR)

    #17945
    Артём
    Customer

    Пример с включенным рендерингом АА и отключенным

    • Ответ изменён 1 неделя, 2 дня назад пользователем Артём. Причина: подгрузил картинку меньшего размера
    Вложения:
    Вы должны войти для просмотра вложений.
    #17946
    kdv77kdv
    Участник

    Использую связку с пазлом “disable rendering”

    не используй. если хочешь SSAA, просто включи его
    app.enableSSAA(2, false); – это SSAA 4x (2^2=4)
    для отключения используется
    app.enableSSAA(0, true);

    #17947
    Артём
    Customer

    Использую связку с пазлом “disable rendering”

    не используй. если хочешь SSAA, просто включи его
    app.enableSSAA(2, false); – это SSAA 4x (2^2=4)
    для отключения используется
    app.enableSSAA(0, true);

    благодарю, а где это надо прописать/активировать? И будет ли работать с AR)?

    #17950
    kdv77kdv
    Участник

    а где это надо прописать/активировать?

    есть такой паззл exec script в разделе Advanced

    И будет ли работать с AR?

    вот и проверишь. по идее, должно, т.к. в андроиде при переходе в AR по сути рендерится то же самое, что и в браузере. в iOS AR это не имеет значения, там другой принцип и свое сглаживание…

    Вложения:
    Вы должны войти для просмотра вложений.
    #17954
    Артём
    Customer

    Благодарю, с AR сработало!

    #17955
    kdv77kdv
    Участник

    можешь вставить код проверки производительности (замер FPS) и он выберет оптимальный уровень SSAA, чтоб не тормозило и не сильно проц грузило

    let sampleLevel = 4; //SSAA is set to 16x by default
    
    function checkFPS() {
        setTimeout(function() {
            const startFrame = app.frame;
            const startTime = Date.now();
            setTimeout(function() {
                const currFrame = app.frame;
                const currTime = Date.now();
                const fps = ((currFrame-startFrame)/(currTime-startTime))*1000;
                if (fps < 50) { //min desired fps
                    if (sampleLevel > 0) { //if SSAA disabled do nothing
                        sampleLevel = sampleLevel - 1;
                        app.enableSSAA(sampleLevel, (sampleLevel == 0));
                        checkFPS();
                    }
                } else { //lower SSAA level by one step to reduce CPU load
                    if (sampleLevel > 0) { //if SSAA disabled do nothing
                        sampleLevel = sampleLevel - 1;
                        app.enableSSAA(sampleLevel, (sampleLevel == 0));
                        console.log('SSAA ' + Math.pow(2, sampleLevel) + 'x');
                        return;
                    }
                }
            }, 500); //measure interval, ms
        }, 500); //timeout after SSAA level change, ms
    }
    
    app.enableSSAA(sampleLevel, false);
    checkFPS();
Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Для ответа в этой теме необходимо авторизоваться.