Our goal is to enable you to produce cinematic-quality graphics in your mobile apps. Building on the foundation of the legacy engine, Graphics 2.0 offers a whole new level of expressiveness.
In Corona’s new engine, we designed everything so that graphics interoperate seamlessly. Normally, it takes a considerable effort to learn different graphics systems (e.g. Adobe Illustrator, Photoshop, and After Effects) and then figure out how to make them interoperate, but in Graphics 2.0, we’ve unified an unprecedented amount of graphical elements into an elegant, simple model.
Our new engine is a dynamic, shader-based pipeline, revamped to take advantage of OpenGL-ES 2.0. We’ve merged the core functionality of our legacy engine with a myriad of new features:
- Dynamically-sized rectangular masks via containers
- Custom (non-intersecting) polygons
- Custom image fills on all shapes (not just quads)
- Multi-texturing support via composite paints
- Images for anti-aliased strokes and lines
- Over 70 visual effects (filters, generators, and composites)
- Multi-pass shaders via node-based shader graphs
- Pattern tiling via texture repeat modes
- Texture transform properties (position, rotation, scale)
- Quadrilateral perspective distortion for 2.5D effects
- Rendering to texture using snapshots
- Canvas-style drawing using snapshots
- Custom blend modes and Porter-Duff presets
- Blend equation control: add, substract, and reverseSubtract
- Alignment via anchors for responsive interfaces
- Automatic batch detection
Please check out the Graphics 2.0 Tutorial Roundup to see some of the amazing things you can do.
In addition, we’ve added several other improvements like text rendering performance on Android. You can see the full list of improvements in our release notes.
Premium Graphics Features
Most of these new features are considered premium graphics features.
If you’re in the Starter or Basic tier, you can experiment with these APIs in a special demo mode of the Corona Simulator, but you won’t be able to preview the new features on devices.
If you want to preview premium graphics features on devices or publish apps using them, you’ll need a Pro or Enterprise subscription.
A few new features come standard for all tiers:
- creating custom polygons
- using containers
- specifying texture repeat modes
- aligning objects via anchor points
In addition, the graphics features that we ported from our legacy engine are standard for all tiers.
Future vs. Legacy Support
Moving forward, all our future daily builds will be based on this release, including new features and improvements. This will also include support for future devices and platforms like Windows Phone 8.
If you’re working on or planning out a new app, we strongly recommend that you transition to the new engine.
For those of you who have existing projects, or are nearly done with one, you have two options:
- Migrate your project (more details below).
- Continue to use the previous public release; in this case, we’ve posted legacy documentation for your convenience.
If you are a Corona SDK Starter or a Basic subscriber, you can access previous Graphics 1.0 Public Releases. But, as mentioned above, we recommend working with Graphics 2.0 (build #2076 or later) going forward.
If you’re a Pro or Enterprise subscriber, you can also continue to access older Graphics 1.0 Daily Builds.
Anything prior to 2013.2000, e.g. 2013.1060, is a legacy (Graphics 1.0) build. Of course, to take full advantage of the new graphical features, improvements, and future platforms like Windows Phone 8, you’ll eventually need to migrate your project(s).
Migrating Existing Projects
With all of these new features, you’ll be able to significantly boost the visuals of your existing projects, as well as take advantage of future improvements.
To help you migrate, we’ve created a “Graphics 1.0 compatibility mode.” It will not account for every conceivable situation, but it provides a significant head start. If you’re lucky, no changes will be needed, but if you encounter issues, please refer to the migration guide which steps through the changes.
No matter which route you choose, it’s not nearly as complex as migrating a native code base from OpenGL-ES 1.0 to OpenGL-ES 2.0!
When I first announced the Graphics 2.0 Beta, I told you that we envisioned a system that stayed true to the Corona way of doing things. That rings even more true with this release. We’ll continue to push the envelope of our new engine, enabling even more stunning visual effects down the line.
With Corona, you’re not just pushing pixels, you’re painting with light. Download Corona today and see what you can build!