Announcement

Collapse
No announcement yet.

Godot 4 Is Focusing On Vulkan + OpenGL ES 3.0, OpenGL Likely For Godot 4.1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by jayrulez View Post

    What percentage of people are gaming on those?
    Based on here

    Gamers are not the minority as TV and film paint them out to be. Newzoo reports there were 2.69 billion gamers in the world by the end of 2020. Growth has been steady with an average of 5.6% year-on-year (YoY) increase. 2021 figures are forecast to reach 2.81 billion gamers that will earn the global games market an estimated $189.3 billion
    The games market can be broadly divided into five segments: browser PC games, console games, downloaded/boxed PC games, smartphone games, and tablet games. Smartphone games have the biggest slice of the pie with a 40% market share, followed by console games with 28% (Newzoo, 2020).
    If up to 40% of ~2.8 billion people are gaming on smartphones....~10% of those people based on Android stats. 112,000,000. 112 Million. That's around how many people.

    Comment


    • #12
      Originally posted by dos1 View Post

      There's plenty of platforms (mostly mobile) where free GPU drivers handle only GLES 2.0 at the moment.
      There are 2 questions behind it:

      - How many people are actually playing new games on opengl 2.0 ES max hardware. Majority of people who use old phone use it just for calling not for playing,
      - Including time it takes to finish Godot 4.0 AND finish development of game on it after, will market situation change so much to make OpenGL 2.0 ES irrelevant.

      And thing is long term that need for support for ES 2.0 is rather low. Also market doesn't care about "free" GPU drivers in this case.

      Comment


      • #13
        Originally posted by piotrj3 View Post
        - How many people are actually playing new games on opengl 2.0 ES max hardware. Majority of people who use old phone use it just for calling not for playing
        There is quite a few new phones that at the hardware GPU are opengl 2.0 ES max hardware. But when you are running android they are using Angle to give Opengl ES 3.1 or 3.2 by software on top using the CPU.

        Originally posted by piotrj3 View Post
        And thing is long term that need for support for ES 2.0 is rather low. Also market doesn't care about "free" GPU drivers in this case.
        To be correct you get a decent market share by not caring what the Opengl ES level of the GPU is just using angle to make up the difference. Please note angle is not classed as a GPU driver. https://github.com/google/angle

        Comment


        • #14
          The effort to enable Vulkan in Godot started more than 2 years ago: https://godotengine.org/article/vulk...gress-report-1

          Even before then, the main Godot developer rejected the possibility of making use of an existing open source graphics abstraction layer in Godot which would have immediately opened up Godot to use dx and OpenGL: https://github.com/godotengine/godot/issues/19602

          It would also mean that Godot would immediately gain Vulkan support and Metal support if they were added to bgfx in the future.
          That future came and today bgfx supports:
          • Direct3D 9
          • Direct3D 11
          • Direct3D 12
          • GNM (only for licensed PS4 developers, search DevNet forums for source)
          • Metal
          • OpenGL 2.1
          • OpenGL 3.1+
          • OpenGL ES 2
          • OpenGL ES 3.1
          • Vulkan
          • WebGL 1.0
          • WebGL 2.0
          • WebGPU/Dawn (experimental)
          What would be required of Godot to make use of bgfx? Just to work closely with the bgfx developer (who is very responsive and helpful in his community) to do the initial integration work and to learn how bgfx works. Godot could even had influenced the future development of bgfx to some extent.

          However, instead of that future, today Godot has a beta level Vulkan implementation and a worse(than bgfx) abstraction layer. It cannot even support both Vulkan and OpenGL ES within three years of making that decision.

          How many man hours would have been saved trying to (badly) implement Vulkan in Godot if they had just chosen to work with another open source project?

          I don't have much faith that OpenGL ES 2 support will come to Godot in any meaningful way (I wouldn't miss it either though as I don't see many people gaming on that class of hardware). I have even less faith in the quality of their Vulkan implementation.

          During the time it took Godot to get an alpha level quality of Vulkan support, other open source projects have implemented multiple rendering APIs in their engines: e.g. cocos refactored their graphics abstraction layer completely (https://github.com/cocos-creator/eng...derer/gfx-base Note: this is an example of a quality graphics abstraction layer) and implemented support for OpenGL ES2 (https://github.com/cocos-creator/eng...erer/gfx-gles2), OpenGL ES3(https://github.com/cocos-creator/eng...erer/gfx-gles3), Metal(https://github.com/cocos-creator/eng...erer/gfx-metal) and the aforementioned Vulkan (https://github.com/cocos-creator/eng...rer/gfx-vulkan). They could have even implemented d3d12 in that time but they just decided not to target it.

          Now that's just one component of Godot that has suffered due to (IMO) a bad decision not to make use of existing open source software when they clearly don't have the resources to properly implement it themselves.

          This affects other areas in Godot as well. I personally had issues with FBX import. They decided to spend time working on an half-assed fork of assimp (https://godotengine.org/article/fbx-...or-godot-3-2-4) instead of using open source software that already works like OpenFBX(https://github.com/nem0/OpenFBX). If you try to import an FBX file in Godot today, there is an 80+ percentage chance that it is somehow broken.
          For reference: https://github.com/godotengine/godot/issues/46906

          Both bgfx and OpenFBX are successfully used in other game engines with very good results (https://flaxengine.com/ uses OpenFBX and the majority of models I tried importing there worked and for those that had issues, the author was very quick to push fixes for).

          I haven't looked much into other areas but I've at least heard about deficiencies in Godot's physics library (There are open source alternative's like Bullet and PhysX that can be used).
          I know they currently have a bullet implementation but what is the sense in maintaining two different libraries for 3D physics? Just pick a properly supported one and stick with it. You're not going to do a better job at implementing a physics engine than these dedicated projects while developing all the other components of a 3D engine.
          Note: Most game engines use either bullet or PhysX.

          Of course it is completely okay and reasonable to want to control all aspects of your game engine. However don't pretend it is completely open when decisions that affect all the users effectively comes down to just one person and whatever he says goes. People are paying on Patreon salaries of multiple developers to work on things that could take significantly less resources if they just made use of good quality open source software as third party dependencies.

          I'm happy that Godot exists. However I don't have much faith in its future development while the attitude of just one developer is a significantly impedes its advancement.


          Last edited by jayrulez; 18 July 2021, 05:32 PM.

          Comment


          • #15
            Having high expectations for your clientele's hardware, is a sure way of locking yourself out of their pockets. If you look at every single runaway success indie game, they all have low hardware requirements.

            So every Godot developer have to ask themselves what they want: make the next Crysis (and ending up with a bad looking game AND poor), or the next Minecraft. I know were I want to be.

            Comment


            • #16
              Originally posted by piotrj3 View Post
              - Including time it takes to finish Godot 4.0 AND finish development of game on it after, will market situation change so much to make OpenGL 2.0 ES irrelevant.
              The same could be asked for GLES3 versus Vulkan, as well as WebGL 2.0 versus whatever comes out of WebGPU.
              If GLES2 is not worth supporting, is any OpenGL specification worth supporting while Vulkan is already in place? Not a rhetorical question, just legitimately looking for answers and opinions.

              Comment


              • #17
                Originally posted by skeevy420 View Post
                if up to 40% of ~2.8 billion people are gaming on smartphones....~10% of those people based on Android stats. 112,000,000. 112 Million. That's around how many people.
                There is a problem.

                We know there are over 3 billion active devices and less than 2.8 billion have games on them. That leaves over 200 million who have android phone and don't have a game on it. There is a possibility that then 10 percent that don't have Opengl ES 3.0 by some form (be it angle or GPU drivers) are game-less.

                Comment


                • #18
                  Originally posted by oiaohm View Post
                  There is quite a few new phones that at the hardware GPU are opengl 2.0 ES max hardware. But when you are running android they are using Angle to give Opengl ES 3.1 or 3.2 by software on top using the CPU.
                  A hack to prevent web pages from breaking on such hardware by a company that makes a web browser.
                  Not something a game engine should be considering at the moment, in my opinion. My point being: either support GLES2 directly, or drop anything OpenGL and focus solely on Vulkan as they already seem to be doing.

                  Comment


                  • #19
                    Originally posted by chocolate View Post
                    A hack to prevent web pages from breaking on such hardware by a company that makes a web browser.
                    Not something a game engine should be considering at the moment, in my opinion. My point being: either support GLES2 directly, or drop anything OpenGL and focus solely on Vulkan as they already seem to be doing.
                    No this is not understanding what I wrote.
                    There is quite a few new phones that at the hardware GPU are opengl 2.0 ES max hardware. But when you are running android they are using Angle to give Opengl ES 3.1 or 3.2 by software on top using the CPU.
                    This is not the game engine doing this. This is the phone vendor doing this. This results in when you get the direct driver for the hardware it only being opengl ES 2.0 max but that is not what android applications on that device would be seeing.

                    This starts happening around Android 6 devices or 2015 devices of course the first was just opengl ES 3.0 by angle instead of the real hardware opengl ES 2.0.

                    Sorry angle is not just a hack used by a company that makes a web browser. Angle is also a hack also used by those making mobile phones so they can put on their specification sheet our phone support Opengl ES 3.0/3.1 or 3.2 when the gpu in the soc really only supports opengl ES 2.0.

                    chocolate there are more than one bit of slide of hand here. Yes this slide of hand at times does explain the poor battery life some phones do have playing games.

                    Comment


                    • #20
                      Originally posted by rmfx View Post
                      They should just focus on Vulkan and GLES3 period. If some users’ hardware is 15yo, it’s their self inflicted problem.
                      15? The first Intel graphics chip that is fully capable of Vulkan is only 6 years old (Skylake).
                      Sandy Bridge is not Vulkan-ready, and Ivy/Haswell/Broadwell only have experimental incomplete support.

                      Comment

                      Working...
                      X