Thanks for the answer.
I try to tell my experiences on shadow map support.
on iOS OES_depth_texture is supported on all PowerVR SGX based device (so all es2.0 device supports this)
with this we could do manual compare in shaders.
see extension list here
http://developer.apple.com/library/ios/ ... forms.htmlfrom ios5.0 EXT_shadow_samplers is supported on SGX543+ based devices. (iphone 4s+, ipad2+)
http://developer.apple.com/library/ios/ ... /iOS5.htmlbut even without this we can emulate shadow_samplers something like in this forum:
http://www.opengl.org/discussion_boards ... dowmappingCode:
#ifdef GL_EXT_shadow_samplers
#define SHADOW2DPROJ(tex,coord) shadow2DProjEXT( tex, coord );
#define SHADOWSAMPLER(tex) uniform sampler2DShadow tex
#else
// 1 varying, 2 fmad, zero-cost saturation = 3 USSE cycles
#define SHADOW2DPROJ(tex,coord) clamp((coord.w * texture2DProj(tex, coord).x - coord.z) * 1000000.0 + 1.0, 0.0, 1.0);
#define SHADOWSAMPLER(tex) uniform sampler2D tex
#endif
Haven't tested, but something like this could work.
Android market is very fragmented. There are multiple gfx chips (Mali, Adreno, Tegra, PowerVR). I didn't have experience with this, as we simply disabled shadowmap on android where even standard es2 features have bugs.
OES_depth_texture support on android from this site
http://stackoverflow.com/questions/3881 ... id-devicesAdreno200+ supports, Mali400 supports, Tegra does not support, PowerVR SGX 530+ supports
Shadow_Sampler is not supported on the devices.
It's strange that Tegra does not support depth texture as they were the first on desktop (with geforce3) to support shadow mapping...
https://twitter.com/aras_p/status/236007331245219842So I think with requiring OES_depth_texture extension shadow could work on es2.0.
On tegra it could be emulated with float textures, but that requires different buffer mapping in the pipeline (i think) and some other hack in shaders.
FGRegulus: sorry for hijacking this thread.
I think we should move to developer discussions/opengl es port