Scaleform GFx

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Scaleform GFx
Scaleform Logo
BorderlandsHUD.png
A user interface in Borderlands, rendered using Scaleform GFx
Original author(s) Scaleform Corporation
Developer(s) Autodesk
Stable release 4.4
Written in C++. C++ API provided,[1] C# API available in Unity Plugin;[2] ActionScript virtual machine included
Platform Microsoft Windows, OS X, Linux, as well as Xbox 360, Xbox One, PlayStation 2, PlayStation Portable, PlayStation 3,[3] Playstation 4, PS Vita,[1] 3DS,[1] Wii,[1] Wii U,[4] Windows Phone,[5] iOS,[1] and Android[1]
Type Game middleware
Game development tool
License Proprietary
Website www.autodesk.com/products/scaleform/overview

Scaleform GFx is a game development middleware package, a vector graphics rendering engine used to display Adobe Flash-based user interfaces and HUDs for video games.[6] As a result of Autodesk's acquisition of Scaleform Corporation in March 2011,[7] Scaleform GFx has become part of the Autodesk Gameware line of middleware.

Authors create user interfaces using Adobe Flash authoring tools, such as Adobe Flash Professional; the resulting SWF files can be used directly by the GFx libraries, providing similar functionality to the Adobe Flash Player but optimized for use within game engines.

All major platforms are supported, including game consoles, mobile and PC operating systems.[1] Scaleform provides APIs for direct communication between Flash content and the game engine, and pre-built integrations for popular engines such as Unity, Unreal Engine, and CryENGINE.[8][9][10][11][12][13] Scaleform GFx can also be licensed for use as a standalone Flash runtime system on mobile platforms,[14][15] competing with Adobe AIR.

Features

Scaleform GFx contains several core systems, including:

  • a GPU-accelerated rendering engine for display objects, featuring a vector-to-triangle tessellation engine with an edge anti-aliasing algorithm that uses subpixel triangles to smooth the edges
  • mesh rendering backends for DirectX and OpenGL APIs
  • a mesh cache to manage tessellated triangle data
  • a vector-graphic based font system that uses a single texture to dynamically cache glyphs on demand
  • support for all major Flash display classes including Sprite, MovieClip, TextField and Filters (Glow, Bevel, DropShadow, etc.)
  • optimized ActionScript 3[16] and ActionScript 2 virtual machines with garbage collector, as well as GFx-specific ActionScript extensions[17]
  • audio support via a licensee-implementable C++ interface, with a default implementation supporting FMOD[18]

Additional components

In addition to the engine, documentation, and samples, the Scaleform GFx SDK includes several additional components:

Scaleform 3Di
ActionScript 2 extensions allowing for three-dimensional location and rotation of Flash elements. Scaleform 4 includes support for ActionScript 3's built-in 3D capabilities, making 3Di unnecessary.[19][20]
Scaleform CLIK
Common Lightweight Interface Kit - easily customizable Flash UI component framework, including buttons, list boxes, drop down menus, sliders, trees and windows, created in collaboration with gskinner.com. These components are intended to be lightweight, while providing for bi-directional communication with the engine and other considerations for game development.[21]
Scaleform UI Kits
Prebuilt customizable examples including sample C++ engine and ActionScript code, as well as corresponding Flash content. These currently include an MMO UI, FPS HUD, and frontend menu kit.
Scaleform AMP
Analyzer for Memory and Performance - profiler tool used to analyze memory and performance of Flash content inside a game or 3D application while running on PC, console or mobiles. AMP is similar in purpose and design to Adobe Scout. AMP gives detailed stats for CPU usage, rendering, and memory, and includes a complete ActionScript profiler with function and per-line timing.

Separately-licensed add-ons

Scaleform also provides two optional add-ons for GFx:

Scaleform Video
Fully integrated video codec for Flash Video workflow support (currently powered by CRI Movie.)
Scaleform 3Di
Fully integrated Input Method Editor (IME) for Asian chat support.

Games using Scaleform technology

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Technology partners

Game engines

Other middleware

See also

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Lua error in package.lua at line 80: module 'strict' not found.
  2. http://gameware.autodesk.com/scaleform/faqs
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. http://www.nintendoworldreport.com/news/29460
  5. http://www.develop-online.net/news/42374/A-wealth-of-tools-support-for-Windows-Phone-8
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Unreal Development Kit Game Design Cookbook, Packt Publishing Ltd, 22-Feb-2012
  9. UDK Game Development, Cengage Learning, 2012
  10. Beginning iOS 3D Unreal Games Development, Apress, 04-Apr-2012
  11. CryENGINE Game Programming with C++, C#, and Lua, Packt Publishing Ltd, 22-Nov-2013
  12. Game Coding Complete,
  13. Cryengine 3 Game Development: Beginner's Guide, Packt Publishing Ltd, 21-Sep-2012
  14. http://www.cnet.com/news/how-to-quickly-convert-flash-games-into-mobile-apps/
  15. http://gameware.autodesk.com/scaleform/advantage
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Scaleform 4.2 Extensions, Autodesk
  18. http://gameware.autodesk.com/scaleform/features/audio
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. http://gameware.autodesk.com/documents/sf_4.2_3Di.pdf
  21. http://gameware.autodesk.com/scaleform/tools
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.

External links