Which suggests 59.6% gles3 support? Not bad I guess, but not great. I assume this reflects google’s inability to get people to upgrade!

And what do you get from gles3? For starters, it means a bunch of very useful features are guaranteed, such as multiple render targets, depth textures for shadow maps, 32 bit index buffer indices, texture support in vertex shaders and much more. These are all things you can sometimes/sort of work around in gles2, but it’s not pretty/nice/fast.

Then there are new features such as geometry shaders (which I *really* want to play with!), transform feedback (eg: render to ‘vertex buffer’), and a bunch of other features that just plain make stuff ‘go faster’ such as uniform buffers, geometry instancing (draw a bunch of models in one hit), vertex arrays and so on.

And this is just the stuff I know about – I haven’t actually done in anything in gles3 as yet, just read the specs, so there’s bound to be lots of other juicy stuff in there too.

There’s no denying we *are* limiting mx23d’s potential user base by going with gles3, but IMO it’s worth it. It’ll make my life a ton easier, and the new features are likely to allow entirely new approaches to terrains, sprites, environmental effects and a bunch of other stuff.

I also believe the vast majority of mx2 users are and will always be desktop users, and I think the compatbility situation there is OK – probably not disimilar to the d3d7 situation when b3d came out? In fact, it’s only android I have reservations about, but I can’t justify holding back things purely for android’s sake. And of course, things will get better android-wise as time goes on…

I’m all for it. The legacy bmax users may not like it so much if some game portals still require xp support (which only officially does d3d9), or have a large android install base without gles3 support, but since this is strictly a 3d module, I don’t see the problem, because as a modern graphics target, it will be one less reason for newcomers to “shy away” from mx23d as a viable engine for their future projects.

GLES3 support’s adoption rate on android may not be so high because a lot of the more affordable tiers of no-name phones coming out of china and the older smartphones issued as freebies by budget carriers tend to use more established chipsets to 1. reduce the handset’s BoM, and 2. increase the shelf life their devices without having to dedicate any money to updating driver firmware/software/etc. since less-well-established SoCs could potentially mean that the drivers for it aren’t as well-written or well-tested.

One thing I’ll be slightly sad to see is that this means mx23d won’t support the current generation of hobbyist computers. They usually don’t support more than gles2.0 — I know the Pi 3 still runs aging Videocore IV graphics architecture, which has required emulation authors to backport some of their more recent efforts to support it. That’s hobbyist-level stuff, though, and not a big concern for commercial stuff.

Edit: Also note that over half of android users as of this writing are running android 5.1 (lollipop) or below, which is now 2 versions behind the current and correlates with the gles2.0 only support. It’s also a 2-year old version of android. Within the next 6 months you’ll probably see a large shift as people come off their contracts and “refresh” their phone. Don’t know if that’s common in most countries, but in the US many phones are subsidized and tied to 1-2 year contracts. So bear that in mind!

For what it’s worth, as long as I can still make 2d Android apps compatible with gles2 devices, this decision doesn’t affect me. Sorry for the selfish point of view: I don’t have the expertise to look at the bigger picture.

3 doesn’t buy much unless you are really pushing the gfx hardware, and you lose half the market in the process.

Thats not to say you couldn’t have a GLES3 target later, but always target the lowest common denominator that gives you the widest market. Imagine half the developers on the site hitting a point where they can’t run their own game on their own (older) device. That’s not just customers but also fellow developers, which might be more vocal when it comes to saying “hey! use this” or “hey! don’t use this!”

i already had a frustrating time with a mobile game that was coming out. When it finally came out, my iPhone 5 couldn’t run it because he had used GLES3. But his low poly game had no CPU or GPU intensive reason why my iPhone couldn’t run it. It was just laziness on his part as a developer

One thing I’ll be slightly sad to see is that this means mx23d won’t support the current generation of hobbyist computers.

Yeah, didn’t think about this, and it is kind of sad, but I never really felt like I got mx2 working properly on Pi anyway, and when I did manage to get a shader-fied demo running, performance was pretty terrible. But still, point taken. Pi4 perhaps?

android 5.1 (lollipop) or below, which is now 2 versions behind the current and correlates with the gles2.0 only support

gles3.0 only requires 4.3 (and HW support of course), although 3.1 requires 5.0. I have no idea what the difference is between 3.0 and 3.1 though, and it could well be important so who knows.

There’s no denying we *are* limiting mx23d’s potential user base by going with gles3, but IMO it’s worth it. It’ll make my life a ton easier, and the new features are likely to allow entirely new approaches to terrains, sprites, environmental effects and a bunch of other stuff.

I agree. An emphatic vote for GLES3 from me…

Then there are new features such as geometry shaders (which I *really* want to play with!), transform feedback (eg: render to ‘vertex buffer’), and a bunch of other features that just plain make stuff ‘go faster’ such as uniform buffers, geometry instancing (draw a bunch of models in one hit), vertex arrays and so on.

..Though geometry shaders are a capability of GLES3.2 (released 2015), so support for that particular feature might be very limited?

Xaron has made the point I was going to make – those numbers are going to keep going up. If it’s possible to have some user control to turn certain features on or off depending on how compatible people need it then that would help but otherwise v3 sounds a bit more future proof.

Please excuse my ignorance here as I’m new to MX2 programming and don’t know anything about gles, but isn’t gles3 just a superset of gles2? IOW, gles3 contains the gles2 api plus a bunch of extra features? If so, then couldn’t you write the module to be gles2 compatible as long as no gles3 function calls are made, but then compile a glse3 version when the extra features are needed? Sort of similar to BMax SetGraphicsDriver command, maybe SetGLESVersion (2|3) command.

I would have both one as a throw back should the primary (GLes3) fail. I first would code the primary and see where it goes from there the main upshot is your coding for the latest hardware meaning more time for coders to get going than coding for granny’s old phone which is pointless.

Heck as most here will know I’m an advocate for old hardware but even I don’t support 32bit now and to be honest I’m moving on from older system in favour of newer tech mainly as older GL versions have flaky driver support.

Thinking about it just whack in a GLES3 system and if someone wants lower maybe another patreon drive? I have Dx10 gpus here but to be honest I can see supporting outdated hardware as any good and certainly not good for future proofing MonkeyX2.

@difference I can see that GLES3 will be a contentious issue but if you want the best then Android 5.x+ is not a bad thing is it. If you jump to Unity it’s still a requirement over there if yoy want to do some of the decent stuff so it’s down to your preference to be honest.

Archives

Archives

Recent Replies

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220$100 Bounty: MX2 Running on Samsung's Linux on Dex

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Need Monkey2 logos as .SVG

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Viva Mortis

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Viva Mortis

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Viva Mortis

What is this?

Monkey2 is an easy to use, cross platform, games oriented programming language from Blitz Research.