OpenGL ES 3.0?

I guess for them wheres their motivation, as ogles2.0 is good enuf :)

Not sure if any companies think this way, but if they do they should change their perspective.. because anyone knows that the hardware support has to drive adoption, not the other way around.

But I don't think that OEMs are choosing old or very underspec'd SoCs for their new phones because they see no demand to do any better but because they're racing to the bottom in price. The big surge in phones with 2007-2008 level CPU and GPU capabilities is basically coming at price points where they're replacing old feature phones with something that can actually run Android.
 
ogles 3.0 came out less than 2 years ago, ogles 3.1 came out 4 months ago
you dont really want much faster revision than that.
I believe ogles 3.1 is beyond what wp d3d exposes

I guess your beef is not with khronos but the device manufacturers, i.e. those still shipping non ogles3.0 devices today,
then again if companies (ahem)willardjuice(cough) are not going to use ogles3.0 then I guess for them wheres their motivation, as ogles2.0 is good enuf :)

Part of it was a joke and I was thinking of the stuff on that page: http://forum.beyond3d.com/showthread.php?t=65375&page=2

It's less about timing for APIs but the mess some of them are in; a bit of housekeeping wouldn't hurt anyone I guess ;)
 
I would like to ask you guys how you handle the porting down to ES 2.0? Most of the ES 3.0 features were already supported by many ES 2.0 GPUs as extensions. When I look at the feature difference lists, OpenGL ES 3.0 seems to add pretty much all the same stuff that DirectX 10 added (and mandate pretty much same optional features too). And same seems to be true for DirectX 11 and OpenGL ES 3.1. Both add pretty much the same features.

OpenGL ES 2.0 / DirectX 9:
- Optional (caps/extensions): MRT support
- Optional (caps/extensions): floating point textures, two component textures, non-pow2 textures
- Optional (SM3.0/extensions): texture sampling in vertex shader
- Optional (SM3.0/extensions): instancing
- Optional (SM3.0/extensions): partial derivatives

OpenGL ES 3.0 / DirectX 10 new features:
- Must support all the optional features listed above (MRT, float/2c/npow textures, vertex texturing, instancing, derivatives, etc)
- Transform feedback (called stream-output in DX10)
- Integer arithmetic in shaders
- Samplers separated from textures
- More simultaneous textures supported (to to 16)
- Seamless cubemap filtering
- Texture arrays

OpenGL ES 3.1 / DirectX 11 new features:
- Compute shaders, barriers, atomics, thread shared memory, etc.
- Indirect draw calls, indirect dispatch calls
- Buffer resources (read / write from a shader to a programmable memory location)
- Append/consume buffers / atomic counters

ES 3.0 missing features from DX10 (that were later added to ES 3.1):
- Binary operations (insert/extract/scan)
- Texture/sample load instructions with integer addressing
- Reinterpret cast operations (asint, asfloat) and half packing/unpacking

Biggest generic differences between OpenGL ES and DirectX:
- Texture compression has always been mandated in DirectX. All OpenGL ES 2.0 GPUs had texture compression, but not the same one (ETC vs PVRTC). OpenGL ES 3.0 brings standardized texture compression. This is the biggest difference compared to DirectX.
- Geometry amplification (geometry shaders / tessellation), not available in any OpenGL ES version. Not a biggie. Geometry shaders are almost useless (most things are faster to do without them). Tessellation is not yet widely used (content production tools must be adapted and artists must be re-educated first).

You don't need full ES 3.0 support to get advantage of most of the ES 3.0 features (as extensions do exist, and many of them are widely supported). It seems that most of the important things were already available as extensions to ES 2.0. Are there some ES 2.0 extensions that you require in your games? Is there a way in Android (Play) store to actually prevent people buying a game based on available OpenGL extensions?

ES 2.0 vs ES 3.0 doesn't seem to be that big of a difference, just like DirectX 9 vs 10. Porting between these platforms was quite straightforward during the last console generation. Obviously different supported compressed texture formats make things harder. ETC in general sucks pretty bad (and doesn't even support alpha), and there are many ES 2.0 Android devices that don't support any other compressed formats. I would personally see that being a big issue (especially since the downloadable package needs to be rather small for cellular downloads).
 
Last edited by a moderator:
I didn't say we wouldn't use es 3.0. I gave a reason why our company developed a wp version before we made an android es 3.0 version.

Also it was five years between es 2.0 and es 3.0. That was the problem.
 
Is there a way in Android (Play) store to actually prevent people buying a game based on available OpenGL extensions?

No the only filtering options are version (i.e. does your app require es 2.0?) and texture (pvr, atc, etc.).

Are there some ES 2.0 extensions that you require in your games?

Extensions like depth textures have been supported by everyone early on and can be safely used. But even extensions like 3D textures don't have ubiquitous support among es 2.0 devices. es 3.0 is valuable because it sets a new baseline. It's often very unclear what's the "baseline" for es 2.0 devices on android.
 
Extensions like depth textures have been supported by everyone early on and can be safely used. But even extensions like 3D textures don't have ubiquitous support among es 2.0 devices. es 3.0 is valuable because it sets a new baseline. It's often very unclear what's the "baseline" for es 2.0 devices on android.
It wouldn't be as flashy an announcement, but I wonder if based on what you're saying, Google making an Android Extension Pack for OES2.0 would be of more practical and immediate benefit to developers? Perhaps something to bundle and standardize extensions available in later generation OES2.0 GPUs like PowerVR Series5XT, Adreno 225/230, and Tegra 4. Google calls their extension ANDROID_extension_pack_es31a which suggests they plan other AEPs in the future although they are probably leaving room for an OES4.0 one rather than an OES2.0 one.
 
I can only go on our historical data. I will say I noticed on your charts it lists wp as most popular in Asia. Well, we don't target that area (just North America and Europe)
Well you should target asia
2014 Q1 app revenue google play
japan nearly twice as much as USA!!!!
third is south korea

thus you're missing out in the 1st and 3rd largest countries for cash, you might wanna mention that at your company

WRT WP being most popular in aisa
http://www.wpcentral.com/windowsphone-maintains-second-position-india-market
no doubt all those MS tech support guys
 
I see all the "majors" posted 3.1 conformancy on Khronos on Monday.

I note that IMG posted 2 results, 1 for ARM and 1 for Intel.
 
Last edited by a moderator:
Back
Top