Blend Modes & Tinting

I don’t know if those are on the features list yet, but we are yearningly waiting for blend modes (at least additive / multiply and substractive blend mode) and the ability to colorize (tint) images.

Additive or multiplied blending brightens an image by multiplying the colors of overlapping images, which would enable cool looking stuff like realistic lighting and pyrotechnique effects (flames, lights, lasers, explosions etc.)

Colorizing images (like available in Flash since a decade, for example) would enable developers to tint any loaded image with an individual color (for example: myImage:tint(R,G,B) ). This would allow realtime color changes and fadings, it would also eliminate the need to create dozens of different graphics if you need to use the same image, but in different colors only.

For us, this would be a real big step forward since it would drastically improve the visual quality of Corona apps and would save a lot of artistic work. [import]uid: 10504 topic_id: 5923 reply_id: 305923[/import]

+1 [import]uid: 5712 topic_id: 5923 reply_id: 20371[/import]

+2 [import]uid: 10332 topic_id: 5923 reply_id: 20373[/import]

+3 [import]uid: 9371 topic_id: 5923 reply_id: 20375[/import]

+4 — we are starting to architect new graphic gpu enhancements - some of them are to address you Mr. Particle Candy Man :wink:

c. [import]uid: 24 topic_id: 5923 reply_id: 20440[/import]

Carlos, you the man. Just remember one word - RETINA! [import]uid: 9371 topic_id: 5923 reply_id: 20446[/import]

Great news :slight_smile: Really looking forward to it! [import]uid: 10504 topic_id: 5923 reply_id: 20572[/import]

  • 1

yes, Please.

Huge bang for buck (especially since I already paid for Corona and Particle Candy!)

[import]uid: 9422 topic_id: 5923 reply_id: 22042[/import]

Indeed very useful ! [import]uid: 3638 topic_id: 5923 reply_id: 22175[/import]

.color is a handy feature in sparrow

[lua]SPTexture *blockTexture = [SPTexture textureWithContentsOfFile:@“block.png”];
SPImage *redBlock = [SPImage imageWithTexture:blockTexture];
redBlock.color = 0xff0000;[/lua]
[import]uid: 6645 topic_id: 5923 reply_id: 24045[/import]

@jmp909: That doesn’t prove anything :stuck_out_tongue: But it looks good.

If Ansca is ignoring this request like some other requests for over a year now (the time spawn I am participating here), then you know it isn’t THAT important. Just learn to except that. :wink:

Sometimes I wonder what they have used to create Corona. I am sure they don’t use OpenGL, as coloring vertices and blend modes… well you can compare them to beginners level or first grade in elementry school.

Sorry, could not resist. This request is so oooolllldddd, it shouldn’t even be one in the firdt place and AM should have implemented that themself because if is so basic. Maybe one day we will see that. [import]uid: 5712 topic_id: 5923 reply_id: 24061[/import]

Mike :: I feel the love !

:slight_smile:

[import]uid: 24 topic_id: 5923 reply_id: 24123[/import]

^^

What I always liked with Flash, for example, is the concept of instanciating. You load an image once and create any number of instances of it. Each instance can then be colorized in any individual color. This greatly reduces the shipping size of your game (since there is no need to load the same image in different colors), but it would also be a big time saver for artists since it wouldn’t be neccessary to create multiple versions of once and the same image (you can use a single sky background image, for example and tint it to red to show a sunset, or to a dark blue to show a night sky). This would also enable cool effects like realtime color fading, realistic flame effects etc.

Flash supports colorizing / tinting of objects since its very early versions. This had always been a part of it’s basic feature set (however, it never required OpenGL or hardware acceleration -therefore, performance always was one of Flash’s main flaws).

For a mobile SDK, however, it is neccessary to make full use of hardware acceleration to gain the best possible rendering speed while reducing CPU processing power. I have no facts about the core architecture of Corona’s render engine, but if it had to be rebuild from scratch, I can imagine that this would be quite elaborately.

However, I think it would be worth the effort! The most vital things of a game SDK are speed, flexibility and visual quality. All three could be achieved by making good use of hardware acceleration (OpenGL or whatever is available).

Imagine the possibilities if you had all the cool stuff like blend modes, colorizing images or even shaders or displacement maps (also supported by Flash now). Displacement maps can be used to “fake” depth, but also for distortion effects to generate cool water effects etc. They just require a grey tone image (similar to a mask image) to generate a “depth” effect:

Here’s a nice example of using displacement maps with Flash.

Another one [import]uid: 10504 topic_id: 5923 reply_id: 24167[/import]

+1

I would kill for image coloring/tinting!
It would save me over 50% of my build filesize…

[import]uid: 7356 topic_id: 5923 reply_id: 24199[/import]

+1000

Add, subtract, multiply, difference, lighten, darken… Oh please, please, please…

It would open up the door to so many great effects… [import]uid: 40285 topic_id: 5923 reply_id: 29960[/import]

+1 here! [import]uid: 9190 topic_id: 5923 reply_id: 30013[/import]

+1009 [import]uid: 4596 topic_id: 5923 reply_id: 30386[/import]

+1010 [import]uid: 12870 topic_id: 5923 reply_id: 30937[/import]

+10,000,000

i win

c [import]uid: 24 topic_id: 5923 reply_id: 30957[/import]

+10,000,001

Hah! [import]uid: 5317 topic_id: 5923 reply_id: 31175[/import]