stringtranslate.com

Escenario 3D

Stage3D ( nombre en código Molehill [1] ) es una API de Adobe Flash Player para renderizar gráficos 3D interactivos con aceleración de GPU , dentro de juegos y aplicaciones Flash. Las aplicaciones Flash Player o AIR escritas en ActionScript 3 pueden usar Stage3D para renderizar gráficos 3D, [2] y dichas aplicaciones se ejecutan de forma nativa en Windows, Mac OS X, Linux, Apple iOS y Google Android . [3] Stage3D es similar en propósito y diseño a WebGL . [4] [5]

Stage3D se introdujo en Adobe Flash Player 11.0 y AIR 3.0 para facilitar la aceleración por GPU de contenido 3D en aplicaciones Flash [1] [6] En Flash Player 10 y versiones anteriores, las aplicaciones Flash 3D tenían que renderizar gráficos 3D completamente en la CPU . Flash Player 10 admitía una forma limitada de soporte de aceleración por GPU para materiales, en una API llamada Pixel Bender . [1] [7]

Los sombreadores de GPU en Stage3D se expresan en el lenguaje ensamblador de gráficos de Adobe (AGAL). [8] : 57  [9] Los objetos Stage3D se apartan del modelo de renderizado SWF tradicional en que no se pueden agregar a las listas de visualización de SWF ; en su lugar, se deben instanciar a través de ActionScript . [1] [8] : 25 

Debido a que Stage3D es una biblioteca de bajo nivel que puede resultar tediosa de usar directamente, se han creado algunas bibliotecas 3D y 2D de nivel superior sobre ella para beneficiarse del mayor rendimiento que proporciona. Una lista incompleta de bibliotecas y motores de juegos que la utilizan incluye: Unreal Engine 3, [10] [11] Away3D 4, [5] CopperCube , [ 12] Flare3D , [13] Starling , [14] : vii  ND2D o Proscenium de Adobe Labs. [15] De manera similar, las aplicaciones 3D WebGL se pueden crear con three.js , una biblioteca de nivel superior similar a estas. [5] Away3D y Starling han sido bautizados como componentes oficiales del Adobe Gaming SDK. [16] [17]

Historia

En 2011, se lanzó Flash Player 11, y con él la primera versión de Stage3D, que permite la renderización 3D acelerada por GPU para aplicaciones y juegos Flash, en plataformas de escritorio como Microsoft Windows y Mac OS X. [1]

En marzo de 2012 se lanzó Flash Player 11.2, que permitió la compatibilidad con Stage3D/GPU en plataformas Android e iOS. Los juegos que utilizan API de Stage3D funcionarán sin cambios en estas plataformas móviles. [18]

En junio de 2012, se lanzó Flash Player 11.3, que permite la transmisión progresiva de mapas de textura Stage3D, lo que permite un rendimiento y tiempos de inicio más rápidos para juegos y aplicaciones que utilizan Stage3D. [18]

En agosto de 2012, se lanzó Flash Player 11.4, que aumentó la cantidad de tarjetas de video aceleradas por hardware compatibles a 2006 y permitió canales alfa para texturas comprimidas Stage3D. [18]

En marzo de 2012, Adobe anunció que Stage3D sería parte de las características premium de Flash Player (a partir de la versión 11.2 de Flash Player) y, por lo tanto, no estaría disponible de forma totalmente gratuita para los desarrolladores, sino que se basaría en un esquema de reparto de ingresos. [19] [20] Varios miembros notables de la comunidad Flash se opusieron al cambio, refiriéndose a él como un "impuesto a la velocidad". [19]

En enero de 2013, Adobe clasificó todas las funciones premium como de disponibilidad general y podían ser utilizadas libremente por las aplicaciones Flash, sin necesidad de una licencia o regalías por parte de los desarrolladores o editores. [2]

En septiembre de 2012, se lanzó Flash Player 11.4, que permite a los juegos apuntar a "perfiles restringidos" que incluían chips gráficos más antiguos que no admitían todas las características de Stage3D. [21]

En abril de 2013, se lanzó Flash Player 11.7, que admitía mapas de textura de 16 bits para contenido Stage3D, lo que permitía reducir el uso de memoria y mejorar la gestión de la memoria. [18]

En julio de 2013 se lanzó Flash Player 11.8, que aumentó el tamaño máximo de los mapas de textura a 4096 x 4096, además de admitir mapas de textura rectangulares (no cuadrados) para contenido Stage3D. Esto permitió obtener más detalles en los mapas de textura y crear atlas de textura más grandes, lo que permitió un mejor rendimiento. [18]

A partir de 2014, la aceleración de GPU se eliminó en Flash Player 11.8 y versiones posteriores para los scripts de Pixel Bender. Pixel Bender era una tecnología antigua para escribir filtros de procesamiento de imágenes basados ​​en CPU de alto rendimiento. Esto afectó a varios proyectos menos dotados, incluido Scratch del MIT , que no pudo encontrar la mano de obra para recodificar rápidamente sus aplicaciones. [22] [23]

Características

Stage3D consta de los siguientes componentes:

Stage3D es compatible con los siguientes componentes:

AGALO

Adobe Graphics Assembly Language (AGAL) es un lenguaje ensamblador para escribir sombreadores de GPU . [26] AGAL fue inventado por Adobe para proporcionar un lenguaje de sombreado unificado para todas las plataformas. [26] Los programas AGAL se escriben a mano con códigos de operación y registros de bajo nivel . [26] Los programas AGAL se compilan en código de bytes que luego se integra en películas Flash SWF . [26] Adobe Flash Player compila automáticamente este código de bytes AGAL en sombreadores GLSL OpenGL y sombreadores HLSL DirectX , según la plataforma. [26]

Con AGAL, ​​los desarrolladores pueden escribir sombreadores que transforman modelos 3D en la GPU ( sombreador de vértices ) y sombreadores que renderizan efectos de iluminación dinámicos complejos en la GPU ( sombreador de píxeles ). AGAL también permite renderizar texturas de alta calidad con mapeo mip . [27] AGAL se usa ampliamente en motores de juegos Flash como Away3D y Flare3D para varios efectos. AGAL se usa comúnmente para proporcionar iluminación dinámica , alto rango dinámico (HDR), enmascaramiento alfa , renderizado multipaso, mapeo de desplazamiento y mapeo de entorno . [28] [29] Flare3D extiende AGAL con un lenguaje Shader propietario llamado FLSL (FLare3D Shader Language), que hace que escribir programas Shader sea más fácil. [29] HLAG es otro ejemplo de un lenguaje Shader de alto nivel que se compila en AGAL. [30]

Al portar videojuegos 3D en C++ para su reproducción en Adobe Flash Player , los desarrolladores deben traducir los sombreadores HLSL y GLSL tradicionales a AGAL. [31] El código de videojuego en C++ se puede convertir en código compatible con Flash usando CrossBridge .

Véase también

Referencias

  1. ^ abcde Joseph Labrecque (2011). Novedades de Flash Player 11. O'Reilly Media, Inc. pág. 17. ISBN 978-1-4493-1110-0.
  2. ^ ab Funciones premium de Adobe para Flash Player, Centro de desarrollo de Flash Player, Adobe
  3. ^ ab Conjuntos de chips no compatibles con Stage3D, controladores, Flash Player 11, AIR 3, Ayuda de Adobe
  4. ^ Matt Fisher (2013). HTML5 para desarrolladores Flash. Packt Publishing Ltd. § Stage3D versus WebGL, pág. 91. ISBN 978-1-84969-333-2.
  5. ^ abc "Rendimiento de Stage3D frente a WebGL: Airtight Interactive". Airtightinteractive.com. 28 de octubre de 2011. Consultado el 4 de agosto de 2014 .
  6. ^ Joseph Labrecque (2011). Novedades de Adobe AIR 3. O'Reilly Media, Inc., págs. 17-26. ISBN 978-1-4493-1108-7.
  7. ^ Remi Arnaud (2011). "3D en un navegador web". En Eric Lengyel (ed.). Game Engine Gems 2. CRC Press. págs. 207–212. ISBN 978-1-56881-437-7.
  8. ^ ab Christer Kaitila (2011). Guía para principiantes de programación de juegos Adobe Flash 11 Stage3D (Molehill) . Packt Publishing Ltd. ISBN 978-1-84969-169-7.
  9. ^ "¿Qué es AGAL? | Adobe Developer Connection". Adobe.com. 10 de octubre de 2011. Consultado el 4 de agosto de 2014 .
  10. ^ Wagner James Au (2012). Secretos del diseño de juegos . John Wiley & Sons. pág. 130. ISBN 978-1-118-46391-8.
  11. ^ "Adobe Flash 11 adopta Unreal Engine 3 para ofrecer mejores juegos de navegador | The Verge". theverge.com. 7 de octubre de 2011. Consultado el 4 de agosto de 2014 .
  12. ^ "Herramientas destacadas: CopperCube 4.0". MCV . evelop-online.net. 2014-05-28 . Consultado el 2014-09-22 .
  13. ^ Keith Gladstien (2013). Desarrollo de juegos Flash en un mundo social, móvil y 3D . Cengage Learning. págs. 383–421. ISBN 978-1-4354-6021-8.
  14. ^ de Thibault Imbert (2012). Presentación de Starling . O'Reilly Media, Inc. ISBN 978-1-4493-2089-8.
  15. ^ Rex van der Spuy (2012). Diseño de juegos básicos con ActionScript 3.0. Apress. pág. 641. ISBN 978-1-4302-3993-2.
  16. ^ Thibault Imbert (4 de diciembre de 2012) Presentación de herramientas para desarrolladores de juegos (Gaming SDK, Adobe Scout, FlasCC)
  17. ^ "SDK para juegos de Adobe". creative.adobe.com . Consultado el 4 de agosto de 2014 .
  18. ^ abcde Hoja de ruta de Adobe Flash, Adobe
  19. ^ ab Y luego llegaron las funciones premium Archivado el 5 de febrero de 2015 en Wayback Machine , Blog de ASV Guy
  20. ^ Actualización: Funciones Premium para Flash Player, Adobe AIR y FP Blog
  21. ^ Imbert, Thibault. "¡Presentamos la versión beta de Flash Player 11.4/AIR 3.4!". ByteArray.
  22. ^ "Stage3D". scratch.mit.edu . Consultado el 5 de agosto de 2014 .
  23. ^ Adobe Flash Player 11.8 - Error 3591185: el rendimiento del sombreador Pixel Bender se degradó drásticamente en FP11.8. Cerrado como "NeverFix" Archivado el 22 de abril de 2014 en Wayback Machine
  24. ^ "Texturas comprimidas Stage3D: presentación del SDK ATF - ByteArray.org". bytearray.org . Consultado el 4 de agosto de 2014 .
  25. ^ abcde Introducción a Adobe Scout, Adobe Developer Connection
  26. ^ abcde ¿Qué es AGAL, ​​Adobe Developer Connection?
  27. ^ Mipmapping para texturas más suaves en Stage3D, Adobe Developer Connection
  28. ^ Sesión: ¡Flash al máximo! Gráficos 3D de alto rendimiento en Silent Hunter Online, GDC Europe 2013
  29. ^ desde FLSL, Wiki Flare3D
  30. ^ HLAG se encuentra actualmente en versión alfa, sitio web de la herramienta HLAG
  31. ^ Crytek, Silent Hunter Online habla de las últimas incorporaciones a GDC Europe 2013, Gamasutra , "Motor de renderizado de consola C++ en Adobe Flash usando Actionscript/Stage3D y usando AGAL para efectos gráficos como el renderizado del océano"

Enlaces externos