Are realtime shadows supported in unity android pro?
If no, why not? I have the transformer prime which is a tegra 3 quad core tablet… Im sure its powerful enough.
Also why no realtime shadows for point and spot lights in forward rendering? seems somewhat bizarre.
Unity does not support any realtime shadows on mobiles at all, independent if its iOS where the performance and driver quality would potentially start to allow it or if its android.
As for Tegra3 powerfull enough: If I wouldn’t be sure that this was meant to be a joke (which I assume is a given if you bring up the topic and thus know that the tegra3 gets totally flattened even by the iphone4s and ipad2 which are both 2010 hw) I would be worried.
Its a fact that the Tegra3 is not really able to pull this off, even less than the PowerVR technology, cause NVIDIA though it would be smart to bring a 3rd generation of mobile gpus with fixed type processors (they have pixel shader units and vertex shader units, no unified shader units as already the iphone 3GS had them), and that Tegra3 gpu wise is a Tegra2 with twice the pixel shader unit number (4 instead of 2) does not really lower this problem the slightest bit.
I’m mentioning the apple hardware cause even they would have some problems to handle the fillrate hit from the shadow mapped shadows in unity and the resulting transparent redraws.
Unity has no stencil shadows nor mesh extrusion based ones so the quad core is totally unimportant, it could be a 64 core and yet the situation would be the same as the gpu still sucks and lacks 12-18 months behind the Imagination Technology / Qualcomm / ARM reality and its really a very bad joke from NVIDIA that they had the nerve to launch this as their ‘new mobile hardware platform’.
Heck it has not even OpenCL support.
I’ve hopes for Tegra3.5 or however we want to call it, the Tegra3 based platforms with CUDA capable gpus (which means that they are automatically unified shaders) though I’m unsure if they will be mobile or only mITX form factor.
Tegra 3 is basically where tegra2 should have been, tegra3 gpu is at a fraction of where it would need to be powerwise to be to even compete with SGX543MP2+, not even talking about its real competitor, the PowerVR 6 that launches this year - sony has not decided to go with SGX543MP4 and the quad core samsung cpu in the PSVita for no reason. The PowerVR6 / SGX543MP4+ will also mark the point where realtime shadows with technics as used in Unity can be reasonably considered to be supported and used
harsh words, but in all honesty ive been toying with the tegra 3… things ive made in the past with millions of polys with a lot of overdraw seem to be working awesomely. I dont agree that it wouldnt handle realtime shadows. I guess for now I will stick with projectors to fake shadow effects. The over draw factor sucked on the tegra 2, but the frame rate is just a huge boost on the tegra 3 so far.
Its interesting that it should boost that much cause hardware wise its really tegra2 with 4 instead of 2 pixel shader units.
If the framerate went up that much then I would guess it was more a matter of drawcalls and driver quality hence CPU side which made a fair jump cause the Tegra2 cpu was very bad (and NVIDIAs decision against Neon / a FPU was a very bad idea too).
Anyway, thanks for the report, I’m definitely interested to hear how it works and if it is able to get beyond the Galaxy S2 on the gpu side (the previous benchmark have shown a difference in the 1 digit percentage range, which is extremely bad for a tablet vs a phone)
Anandtech did benchmarks with the Tegra3 and its performance is devastating and laughable for being a year after SGX543 and meant to compete with it yet failing completely with 30-50% less performance. I cancelled my transformer prime preorder (meant to be my first android tablet used for dev) after the devastating benchmarks which make even my ipad2 fast like a rocket
I’m an NVIDIA guy normally (the only atis I have in pcs are those that are inbuilt in notebooks, otherwise hell will freeze before an ATI touches my motherbord) but on mobile their arrogance against unified shader units on their gpu is just intolerable to me.
The scene that i have tested on is only 11 draw calls, but loads of geometry… and loads of overlapping geometry… It even utilizes the “cutaway shader” i found on the forums here … just to mess around with which basically makes it so u can sort of cut objects in half… everything in the scene had that and I was hitting around a million… with lots of stuff overlapping. Tegra2 was useable, but noticeable lag… probably at like 15fps… tegra 3 has no noticeable lag… so far which for me means over 30 fps at least… none of these numbers are tested with a script or anything… im just ball parking it by eye in what i see when its running on these tablets.
I do agree with u though about the overdraw issue… these tablets performance goes to shit when u have enough rendering and covering most of the screen. Though tegra 3 so far seems powerful enough so that my issues are gone.
Seen the doom3 tech demo with realtime shadows? works fine and smooth on 3gs so we know that mobile is more than capable. The question is… is it something that will be used much? Or abused.
Seeing that most mobile games don’t because to do good shadows you’d need (I may be mistaken) 4.3 iOS installed for depth texture support… and android sdk may well be even more random.
Regardless, the feature has my support - only if it will be fast, usable and high quality in a manner that is largely compatible…
speaking of quality, anyone notice that the new directional shadows look way better then the spot and point light “soft shadows”
Not a perfect solution but if you have Unity Pro you can use this old shadow script that uses render-to-texture, it works in Android. There’s also a package on the asset store that support real-time mobile shadows.
Unify community is down atm but I’m sure that’s the correct link
thanks!!! ill take a look
the asset store one doesnt look promising… heres hoping the unify community is back up soon.
If you need good-looking shadows for mobile, I’d actually take a hint from Valve / Source engine. Source engine actually doesn’t employ realtime shadows on anything other than the flashlight (and even then it’s not absolutely necessary). Characters and other objects produce your standard projected shadows (with the object rendered to a render target and then applied to the projected shadow). And then use Light Probes so that environment shadows affect your character. They’re cheap to render and look pretty badass (even allowing baked global illumination to affect your character)
This being said, I’d advise against using the built-in Projector for shadows. On mobile it can have pretty bad performance.
You might try downloading this Decal Framework (it’s free): http://forum.unity3d.com/threads/141792-Decal-System
And basically when your character moves (possibly add some kind of distance threshold so it doesn’t recalculate every frame), move and re-project the decal and apply the render target as a texture (I think that’s how it works, not exactly sure).
The benefit of this is that you can even degrade the shadows with very little work (just supply a simple blob shadow image on older/slower devices instead of rendering to a texture)
It’s a bit of work, but I think it will be worth it in the long run to make your game look great.