August 20, 2019, 12:45:19 AM

Author Topic: Do I need OpenGL ES?  (Read 1743 times)

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Do I need OpenGL ES?
« on: October 02, 2017, 12:51:54 PM »
For developing 3D games for Windows only, why should I use OpenGL, OpenGL ES or WGL and not DirectX?   ::)

Offline TomToad

  • Sr. Member
  • ****
  • Posts: 405
Re: Do I need OpenGL ES?
« Reply #1 on: October 02, 2017, 01:19:00 PM »
I don't think it really matters which you use as long as the API supports all the features you need.
------------------------------------------------
8 rabbits equals 1 rabbyte.

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Do I need OpenGL ES?
« Reply #2 on: October 02, 2017, 01:32:20 PM »
TomToad,

Let's say DirectX is supported by Microsoft and Windows belongs to them too so one option is to use DirectX. Well, for Windows desktop, what makes me not to use ES or WGL? Do I get a different image quality than the original OpenGL which is now OpenGL 4.6? 

Saying it in another way, if I want to use a top notch 3D app in terms of quality for Windows, is using OpenGL ES as good as OpenGL 4.6?

And, another way:

DirectX is for Windows Desktop.
DirectX Mobile is for Windows mobile.
OpenGL is for All Desktops
OpenGL ES is for mobile devices

Why should I use OpenGL ES for Windows, not the original OpenGL or DirectX for Windows only 3D pplications? What I will miss?

Offline col

  • Sr. Member
  • ****
  • Posts: 429
Re: Do I need OpenGL ES?
« Reply #3 on: October 02, 2017, 02:38:54 PM »
Hiya,

If I may chime in here...

Quote
what makes me not to use ES or WGL
Nothing, you are free to choose depending on what the OS you want your software to run offers you. Windows offers the same as the others with the addition of DirectX.

Quote
is using OpenGL ES as good as OpenGL 4.6
Choosing an API can be difficult as there are now so many. The API, be it OpenGL, DirectX, Vulkan etc is just a software interface to give you access to the hardware. As Tom Toad has already said... For you to choose which one is for you would consider what features each API and version will give you plus factor in the difficulty level required for you to achieve your goal. You should look up the feature set and documentation of each API and pick one that suits you and your purpose. Some are considerably more advanced than others.

As for image quality - it's the hardware that produces the image so which API you choose shouldn't make much difference. The API is your software interface to the hardware.
To be is to be perceived.

https://github.com/davecamp

Offline Naughty Alien

  • Hero Member
  • *****
  • Posts: 615
Re: Do I need OpenGL ES?
« Reply #4 on: October 02, 2017, 02:41:07 PM »
Quote
Saying it in another way, if I want to use a top notch 3D app in terms of quality for Windows, is using OpenGL ES as good as OpenGL 4.6?

..i think answer is very clear here and it should be DX. Why? Because each DX version offer backward compatibility, which is not case with OpenGL/Vulkan. If you want windows only, DX is way to go. Writing shaders will be also much more straightforward then jumping loops between OGL variants..

Offline TomToad

  • Sr. Member
  • ****
  • Posts: 405
Re: Do I need OpenGL ES?
« Reply #5 on: October 02, 2017, 03:10:26 PM »
Quality of image, performance, ease of use, etc... vary from manufacturer to manufacturer.  One system may work better with DX, and another may work better with OGL.  DX for mobile and OGL CE are scaled down versions.  Performance wont be much different, but some features will not be available to you.  Unless you are developing for mobile, there is no reason to use those versions for exclusively desktop apps. If you do plan on porting to mobile in the future, then you might consider using them to make porting easier.

As to whether DX or OGL is better, DX will have the best support across card manufacturers, and therefore, fewer compatibility issues.  On anything modern (within, say, the last 5 years), they should perform about equally.

So the best answer I can give is use DX for exclusively Windows desktop software, OGL if you might be porting to Mac or Linux in the future, and OGL CE if you ever plan on going mobile.  Or do a little extra work and support several APIs and let the end user selects which they prefer, like Irrlitch or Max2D does.
------------------------------------------------
8 rabbits equals 1 rabbyte.

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Do I need OpenGL ES?
« Reply #6 on: October 02, 2017, 04:50:36 PM »
Thanks guys,

Back to the subject, I think I got my answer here:

Quote
So the best answer I can give is use DX for exclusively Windows desktop software, OGL if you might be porting to Mac or Linux in the future, and OGL CE if you ever plan on going mobile.  Or do a little extra work and support several APIs and let the end user selects which they prefer, like Irrlitch or Max2D does.

This implies that for my case, Windows only, I should only settle with those engines that let me chose DX or OGL, if available. If that is the case, then Monkey 1, Monkey 2, AGK, openb3d are not good for me because they are based on ES.

Now, for Windows only, which 3D game library should I use with BlitzMax NG or BlitzMax?

Here is the list:

bo3D - last update 5 years ago.
BlitzGDK - is dead
DreiDe - last update 2007
MiniB3D - incomplete, dead
iMinib3d - mac only
Irrlicht - last update 5 years ago.
Minib3D extended - dead
MiniB3D Plus - not finished, might be based on ES
Opneb3d - is ES based
Warner Engine - last update 2011

So, the answer is none.

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 1916
Re: Do I need OpenGL ES?
« Reply #7 on: October 02, 2017, 04:52:37 PM »
One thing not mentioned is opengl is simply a renderer.  DirectX is a suite of features.
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
Raspbian Buster, pi4 4Gb RAM,1.5Ghz

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Do I need OpenGL ES?
« Reply #8 on: October 02, 2017, 05:01:33 PM »
About this:

Quote
..i think answer is very clear here and it should be DX. Why? Because each DX version offer backward compatibility, which is not case with OpenGL/Vulkan. If you want windows only, DX is way to go.

I don't think DX is backward compatible. Microsoft offers dlls not code compatibility. Codes for DX 12 does not run in DX 11. Even within the same version, one edition is not compatible with another edition.

However, this is correct that the best choice for Windows only is DX. But, the problem remain the same, considering all the facts in the above list of wrappers, is any DX based 3D engine for BlitzMax, the answer is no,

I think the state of 3D engine for BlitzMax is in limbo, if you want to get the best from 3D graphic technology in Windows. 

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Do I need OpenGL ES?
« Reply #9 on: October 02, 2017, 05:08:40 PM »
So, the answer so far is:

No, for Windows Only, you better settle with APIs based on DX not ES.

That means:

People who buy products that are multi-platform and are Windows users, like me, must know that they won't get the latest quality. They will get common denominator.

Is this correct?


Offline TomToad

  • Sr. Member
  • ****
  • Posts: 405
Re: Do I need OpenGL ES?
« Reply #11 on: October 02, 2017, 06:01:42 PM »
 Monkey 1, Monkey 2, AGK, and openb3d are just fine.  OpenGL ES is a quality, and thoroughly tested API.  The only thing is that some features in OpenGL and DX are not supported in ES.  If you don't need those features, there is no reason to exclude ES as a choice. DirectX and OpenGL are also thoroughly tested quality APIs and no reason to exclude those either.  The list you posted in post#6 are not APIs. They are graphics engines.  If you wish to use an already existing engine and not write your own, then look at the features offered for each one, decide which meets your needs, and use it without worrying about which API it uses.
------------------------------------------------
8 rabbits equals 1 rabbyte.

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Do I need OpenGL ES?
« Reply #12 on: October 02, 2017, 06:33:13 PM »
TomToad,

Thanks for you comment, but I think I got what I was looking for.


Offline Naughty Alien

  • Hero Member
  • *****
  • Posts: 615
Re: Do I need OpenGL ES?
« Reply #13 on: October 03, 2017, 03:15:41 AM »
DirectX 12 (and D3D 12) are backwards compatible with virtually every single GPU from the GTX 400 to the present day (it can go as low as DX9.0c). DX 11 is even wider as its directly compatible with DX9.0c hardware. I have tested it myself and i can confirm this.

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Do I need OpenGL ES?
« Reply #14 on: October 03, 2017, 04:54:00 AM »
I don’t think I will test it, but good to know, I just remember from long time ago that it was not so I assumed so.