Today, I’m very happy to announce we are making a Beta of Graphics 2.0 available to Corona SDK Pro and Enterprise subscribers!

Cinema-quality graphics in your pocket

Our goal with Graphics 2.0 was to enable you to produce cinematic-quality graphics in your mobile apps. We wanted to build a system that let you combine the elements of great visual effects — vector geometry, image processing, motion graphics.

I can’t tell you how many times I wished the graphics capabilities in Adobe Illustrator, Photoshop, and After Effects worked seamlessly as a single system, rather than as individual products that you had to switch between.

So when we built the Graphics 2.0 we designed everything to interoperate seamlessly.

For example, you’ll be able to create all sorts of polygon shapes (convex or concave). Fill the interior of the shape with whatever you want — images, gradients, frames of a texture atlas, and even procedurally-generated textures. And then do the same with strokes. Then apply any of over 80 Photoshop-quality effects, and tween the parameters of those effects to your heart’s content.

In coming weeks, we’ll be giving you more examples so you can really leverage the full expressive power of our new engine.

The crazy thing is we still have a ton of features we haven’t gotten to, like more complex mesh geometry and features that we’re still experimenting with, like feeding a live camera directly into any shape and bouncing those shapes around like physics objects.

Throughout all of this, we wanted to build a system that stayed true to the Corona way of doing things. A system that was designed to be simple as possible (with apologies to Einstein), but no simpler. A system that enabled you to achieve amazing visual effects without a Hollywood-sized budget. A system that lets you feel like you’re not just pushing pixels, you’re painting with light.

Ready to get started?

Okay, now it’s your turn to start playing with Graphics 2.0 – let us know what you think! Here’s what you need to know:

First, we have a special Graphics 2.0 Daily Build Page. If you’re a Corona SDK Pro or Enterprise subscriber, you should have permissions to access the page. And if you don’t have access, now’s a great time to upgrade!

(Windows users note that the MSI will install in a different folder called “Corona SDK – Graphics 2.0 Beta”.)

Next, head on over to our Graphics 2.0 Guide which talks about what’s new and touches on a few differences you need to be aware of.

Finally, we have a special Graphics 2.0 Forum for feedback!

[UPDATE: For bugs, please file a report, so we can properly manage, prioritize, and resolve duplicate issues.]

System requirements

Graphics 2.0 relies on proper GPU support, in particular OpenGL-ES 2.0.

That has implications for using the Corona Simulator on the desktop. Most modern Macs and PCs will easily surpass the OpenGL-ES 2.0 spec, but we live in the world of technology, where today’s state-of-the-art quickly becomes obsolete.

I mention this because there will be computers that do not have the right GPU horsepower to run the Corona Simulator. Same goes for virtual machine environments that do not fully virtualize the GPU of the host machine.

Beta quality

Keep in mind this is a Beta, so your mileage will vary. While a lot of pieces are mature, you will almost certainly encounter bugs. We’ll be actively monitoring the forums. In addition, we’ve compiled a list of known issues.

So given all this, it’s probably a little early to be shipping your app with Graphics 2.0. Of course, more power to you if you think everything works!

In the meantime, we’ll be polishing, polishing, polishing. We’ll be continuously refining this Beta until it becomes the next public release.


On next Monday’s (October 14) Corona Geek, I’ll be on to talk about Graphics 2.0 and will announce details on an upcoming contest. Hope you can join me!

Share this post....Share on Facebook0Share on Google+14Tweet about this on TwitterShare on LinkedIn4
  1. Wohoo!!!!!!!!!!!!!!!!!!!

    How do you make that the road with trees and the Corona logo look 3D? Are you starting from a 2D of the scene?



  2. Thank you very much.

    local myText = display.newText( “Hello, World!”, 0, 0, native.systemFont, 20 )
    myText.x = display.contentWidth / 2
    myText.y = display.contentWidth / 2
    myText:setFillColor ( 0,0,0 )
    myText:setStrokeColor( 1,1,1 )
    myText.strokeWidth = 6

    This code was not worked.
    how can I use the stroke on text ?

    and, When it will be available on Corona enterprise ?

    Thank you !

    • StrokeWidth or StrokeColor applies to objects’ borders like display.newRoundedRect.

      For Text object, your code needs to select a supported font with your desired stroke width. Note your code should not have 2 colors being applied to the text object.

  3. Superb! Just in time. let’s roll

    Hopefully third party tool guys such as Particle Candy, Spine and many others can start integrating this cool engine into next updates (if not already).

    • When this goes out of beta, the features you have as Starter (or their G2.0 equivalent) will be available to you. However, most of the cool new features that are introduced with G2.0 will require a Pro/Enterprise subscription.

  4. Craig Stowers says:

    Any way we can load images independently? i.e so we can set an image to load while “enterframes” are running. At the moment everything is put on hold when you load an image.

  5. Matthew Pringle says:

    I have had a look at the new Beta and things seem to be progressing. Its been a while since I last looked at Corona.

    One thing that does concern me is the new 2.5D effects. I noticed the documents even have a reference to Mode 7 ( probably as a result of my requests ). The documentation is misleading. Mode 7 is more than just a background image, it is about interrupts and being able to draw to the screen buffer.

    Unfortunately being able to warp the mesh of individual images / planes really does not go far enough.

    I might look at using lua to emulate the effect but as with my other experiments Corona will not run fast enough as trying to calculate / manipulate so many images / transforms will cause the lua engine to slow to a crawl.

    I think at the moment Corona has the image manipulation power of an Amiga. I would like it to have the power of a SNES.

    • Matthew, Your comment seems compelling except for the last which unfortunately raises my incredulity. Both Amiga and SNES platform are ancient. Surely you’re not still coding graphics on those platforms, are you?

      • Matthew Pringle says:

        Hey Ed

        Not joking! Back in the Amiga days when a lot of the original 3D work was done, long before Wolf 3D the Amiga demo scene was putting out lots of cool texture manipulation demos. The Amiga was not powerful enough to put them to use in a game.

        When the SNES came a long they encoded some routines into hardware making them possible in a game environment. Mario Kart is a good example.

        It was just a comment on where I think Corona is in that department. Obviously it has filters and other cool effects that are more advanced than any of those 2 platforms.

        I tried a time ago taking some old skool code for 3D effects and adding them into Corona. You will notice however that it runs ok in sim but slows to a crawl on a handset. Thats because the image is held in an array and I have to draw tons of tiny planes to represent pixels.

        We are missing some techniques which allow such effects to be driven in hardware.

        • Hey Matt, glad to hear from you!

          So first, we mention mode 7 b/c the most famous effect is the ability to create a background that looks in perspective ( and we take it even further b/c *any* rect can be distorted, so that you can create Wolfenstein style worlds in a completely 2D system — here’s what one of our early alpha testers did:

          In modern pipelines, the goal is to avoid direct (CPU) buffer manipulation, as better to do it via a shader. I mention that b/c you talk about taking old skool techniques (from the Amiga/SNES era), e.g. your 3d-tunnel, and trying to apply those techniques on a modern GPU-based pipeline.

          What I’d like to understand more are the set of use cases (including those that mode 7 made possible), e.g. the actual visual effects you are interested in achieving. I’m sure we can reduce them into the G2.0 pipeline, but they may require different techniques that are more appropriate to a shader-based pipeline.

          Feel free to drop me a line and we can continue the conversation: walter at coronalabs dot com.

  6. Hi Walter,

    Q1 – Will the new Graphics version allow me to greatly minimise amount of texture memory for background/levels that span multiple screens worth. Will it allow us to specify a boundary (shape/points) and then fill with a “pattern”?

    Q2 – Any support for Photoshop to export shapes from here so you can copy/paste it directly into a LUA file?(i.e. I guess I’m implying if you have a vector object in photoshop & you want an easy path to use it as both a physics image in Corona)…not expecting there will be but thought I’d ask..

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>