Sleek Render - Lightning Fast Mobile Post Processing Effects

[DEPRECATION NOTICE]( Sleek Render - Lightning Fast Mobile Post Processing Effects page-5#post-4740272)

It’s now open-sourced at
GitHub - KumoKairo/Sleek-Render

Hi!
I’ve made a fast post processing stack that is targeted mainly on mobile (unlike most of the post processing packages on the assetstore).

TL;DR:

  • It has bloom, vignette, color overlay and brightness/contrast, more features are coming
  • It’s fast because the approach is very different from most of the other PostProcessing solutions (more info below)
  • Store link: Unity Asset Store - The Best Assets for Game Making
  • Open development Trello board is located here Trello
  • Discord chat Discord

What is different in my case is that it doesn’t use any of the slow unity’s APIs that are not flexible enough- It uses custom render passes and does most of its work on downsampled textures. For example, two-pass blurring is done on a tiny 32x128 texture and these two passes take around 6.000 GPU cycles. As a reference - rendering a 3k polygon model with two textures that is taking about 30% of the screen will take around 4.000.000 cycles. And rendering a simple plain that takes around 80% of the screen with a standard Unity shader will take around 40.000.000 cycles (sick!)

And there are still things that can drastically improve performance on older devices like master downscaling (works very well on hi-rez devices that are not very powerful), I’m just gathering some real-world use cases to create an automatic downscaler that knows which devices need this and which do not, so stay tuned.

I’m not the first one to do this by the way, there’s an old post https://forum.unity.com/threads/pos…phics-blit-onrenderimage.414399/#post-2759255 where the guy uses a similar approach and is getting 60 fps bloom on an S2 phone.
And what I’m doing is very similar to what graphics guys from https://play.google.com/store/apps/details?id=com.creativemobile.nns&hl=en did. They have a full post-processing stack made in Unity that works on mobile and doesn’t slow them down to a halt (they even did a real motion blur and a radial blur that are also very fast).
And these things usually pop up from time to time on forums, but no one has made a drag-n-drop solution to my surprise. Which is why I decided to step in.

I’ve made some comparison with FxPro (which I was intended to use for my project in the first place) and a new Standard Post Processing stack (which I believe is not intended for mobiles at all) Full sized gallery is available here Sleek Render Comparison - Album on Imgur




Created post processing framework allows adding new effects easily. Like simple color grading (color overlay), vignette, lens dirt, shockwave (on-screen raindrops), motion blur, fog etc. And this is what I’m going to add to this package if it goes well.

This package includes color overlay starting from version 0.2

This package includes vignette starting from version 0.3

The policy for this package will be as follows:

  • It’s going to be free for a few days after initial release, bloom only

  • After I gather some real-world users feedback and do initial improvements / fixes, I’ll add simple color grading or vignette (luma-based color overlay is very cheap on mobile without LUTs)

  • I’ll continue adding new pluggable effects, ultimately making this package something like a mobile-oriented Standard Post Processing Stack

  • Each new effect will increase the price a bit (it will stay reasonably low-priced and affordable)

  • Upgrades from a previous version (including the initial free version) will also be free, so it’s advisable to grab it as soon as possible (initial free release is ideal)

12 Likes

I already have used CNInput and it was fantastic, I would imagine (for anyone wondering) that the quality of this asset will be phenomenal. Thanks for this and I look forward to initial release and versions going forward. I may even push back the release of my current project to allow time to implement this.

Heyo Kumo-Kairo,

Any update on this? I’m excited to see this in action.

It’s still in review. Usually first upload takes more time than subsequent updates.

1 Like

Ah okay, thanks for the update.

I didn’t realize the review process was so long (I was going to make a package but never did since requirements are so strict)

While it’s still in review by the assetstore team, I’ve already done some improvements - added color grading overlay. It allows to gently tint the image, make it completely black-and-white (or to sepia tone it) as well as add vivid colors (like red when the health is low, the player has failed etc). This effect is essentially free to calculate as it doesn’t use any LUTs. It can also be used to create a fade-in fade-out effect without additional overdraw (usually fade-ins and fade-outs are made with a fullscreen alpha blended texture which renders on top of the scene).

I also improved bloom visual fidelity (reduced blockiness) while keeping the same performance.

5 Likes

Yay, Beta 0.1 version with bloom is finally live. Unity Asset Store - The Best Assets for Game Making
Be sure to grab it while it’s still free.

I’m at the gamedev conference currently and won’t be able to provide much support, but feel free to write me on an email or in IM and I’ll be sure to reach you back after November 20th

3 Likes

Would 100 percent recommend this to anyone. If you need to target lower-performance hardware, this is what you want to use.

This is just Awesome, Thank you for giving us this awesome piece of work! :smile::smile::smile::smile::smile: How can I donate?

@MP-ul Spreading the word is the best donation)

1 Like

Just on the initial phase of a Tron like visuals game and I was really going to drop it as the effect that I want requires bloom, and the PostProcessing from Unity and others slow down a lot the performance on mobile. Will try this out. Thanks for all the work Kumo-Kairo!

@Aeross currently this bloom doesn’t really allow narrow lines of Trone-like glow due to the performance-first implementation. I’ve had some feedback on this a few days ago and it turned out to be not really usable right now.
Tron-like glow requires a bit different approach to blurring/blooming, including a different luma (brightness) formula.

I’ve added a card to the Trello backlog so you can follow it there.
You can also be of a great help if you’ll be able to send me a few screenshots of your game to my support e-mail (available in the package README file), so we can iterate on actual use-cases rather than my synthetic tests.
Cheers

1 Like

Hi.

Just tried Sleek Render. I am really happy with performance.
Suddenly Post Processing is viable for my project :slight_smile:

I do have some banding happening on my skybox

That skybox is a simple procedural shader.
here is the same shot without SR


Is this inevitable because of the nature of the effect, or is there something we can do?
(edit) I have installed the update…

Sleek Render has just updated with a Color Grading and it’s a first non-free price tier. Next update will include vignette.

@sylon is this in the editor or in the mobile build? I have a few ideas on this, and this can be solved, no worries.

Nice.
This is in the Editor, Game window, play mode.

@sylon can you try building it on a mobile device? In the meantime I’m going to make a quick fix for the Editor banding. You can write me back on a support e-mail to get this update right away so you won’t have to wait for the official Asset Store release (it usually takes a few days)

There is no hurry on my end.
Mobile build will have to wait till tomorrow i think. I’ll contact you when i have something.

1 Like

Well for my test apk worked way better than i was expecting ,my bloom was eating 3-4 frames and the “sleek” stays at 57 fps(my phone can output only 57 frames per second idk, Mali 400mp) , BTW do you have ideas of a DOF atleast a good performing one that you can use for showcase scenes? and maybe for future some Shadows on mobile :3 Sleek Render Mobile shadows will sound so awesome.

It’s in my roadmap (first step is performance research)

We’ve had a working mobile shadows solution, it even had blending with Unity’s lightmaps:

But its very specific and requires custom “shadow receiver” shaders. I was going to upload it to the assetstore, but decided that it would be a nightmare to support because of those custom shaders. There is a solution from a different guy on the assetstore that uses the same approach. I can’t find the exact link, maybe he put it down because of that reason. So, fast shadows are doable, but they require at least intermediate knowledge in shader writing to be usable in real projects (and if you do have intermediate shader knowledge - why would you want to buy this thing in the first place)

2 Likes

Well if the shadows are a no GO than how about some reflections? SSR or Plane reflections that do not make your drawcalls double!

Edit: And Maybe some AO? ^.^