Поддержка Constrained mode

Недавно вышел FlashPlayer 11.4 и теперь намного больше людей смогут использовать видеокарту для рендеринга 3D во Flash. Предыдущие релизы одиннадцатой версии плеера могли использовать ресурсы видеокарт, выпущенных не
раньше 2008 года. Constrained mode расширяет поддержку вплоть до устройств выпущенных в 2005. Например, почти треть игроков сможет использовать GPU в TankiOnline  благодаря constrained mode. (Около двух третей игроков уже используют
аппаратные возможности своих видеокарт и менее десяти процентов до сих пор используют старую версию плеера, не поддерживающую рендеринг на GPU в принципе).
Следует отметить, что для работы в constrained mode недостаточно последней версии плеера на стороне клиента. Ваше приложение тоже должно его поддерживать. Обеспечить эту поддержку вместе с Alternativa3D 8.32 проще простого.

Как это работает?

Для того, чтобы ваше приложение запустилось в constrained mode, вам нужно лишь передать значение Context3DProfile.BASELINE_CONSTRAINED в качестве второго параметра методу stage3D.requestContext3D().  Примерно так:

stage3D.requestContext3D(Context3DRenderMode.AUTO, Context3DProfile.BASELINE_CONSTRAINED);

Класс Context3DProfile появился в API FlashPlayer 11.4, поэтому вам потребуется обновить playerglobal.swc (или испольновать строковое значение "baselineConstrained"); Если вы хотите включать constrained mode только при недоступности обычного режима, то нужно действовать следующим образом: запросить контекст как обычно, и если после его получения оказался включенным режим программного рендеринга, то тогда нужно запросить контекст заново, уже в constrained mode.

Что будет работать в constrained mode?

Многое будет работать как обычно – меши, скины, анимация, и тому подобные вещи. Но ради совместимости от некоторых вещей прийдется отказаться. Constrained mode имеет более жесткие ограничения на сложность шейдера. Для поверхностей со сложными моделями затенения приходится выбирать из двух вариантов: разбивать сложные шейдеры на более простые компоненты и рендерить их
по отдельности или упростить сложную модель. Поскольку в constrained mode в основном работают слабые видеокарты, пока мы решили остановиться на втором варианте.  Таким образом, сложные материалы будут работать как текстурный материал, или как материал с картой освещения, в случае, если эта карта была назначена исходному материалу.

Добавить комментарий