Как, в конечном итоге, papervision3d (популярный пакет 3D-рендеринга для Flash) рисует преобразованные текстуры на экране?
Использует ли он для внутреннего использования какой-либо из устройств рендеринга Flash, т. Е. Рисует текстуры в DisplayObjects и трансформирует их, или, например, с помощью 3D MovieClips? Или, может быть, фильтры? Или это в конечном итоге просто считывание пикселей из текстур и рисование их на выходе, как вы это делаете на любой программной платформе?
Я спрашиваю, потому что прямой ответ был бы последним, но после небольшого тестирования кажется, что getPixel
и setPixel
просто недостаточно быстры для такого подхода, поэтому кажется, что должно быть что-то происходит больше тайн.
Спасибо за любую информацию!
Редактировать - мое резюме ответа : Papervision не выполняет перспективные преобразования как таковые. Он только масштабирует и наклоняет преобразования в каждом треугольнике текстуры, и иллюзия перспективы возникает, если вы используете достаточно треугольников. Аффинные преобразования используют устройство рендеринга Flash, поэтому исключаются дорогостоящие операции с пикселями.