Hi. I've made a few 2d games for android on godot but now I decided to try to make a 3d game and I thought everything was going fine until I realized that some of the graphics were not rendering correctly, showing only a solid color, or not at all. It works fine when run on the computer. What could be going on here and how might I fix it? or is this a problem with godot?

  • arly replied to this.

    What version of godot? Note that while godot 4.x has an openGL renderer bundled it is not yet officially supported and is still in development.

      It might be the anti-aliasing bug. AA doesn't seem to work on Android right now with Godot 4.0. Also, there are some crashes that are fixed in Godot 4.1. But overall mobile support is crap right now.

        Megalomaniak I'm using the latest version, as of now 4.0.3 and the mobile renderer is set to mobile. will I have to wait for openGL?

          arly That's not me but it looks like the same issue. On another device of mine though it shows up but as a solid color, as you can see in the screenshot attached. how it renders

          cybereality Under project settings -> render -> anti-aliasing: MSAA 2d & 3d & screen space AA are all disabled.

          the good thing with disabling AA is that it makes sense even on desktop:
          the effect made much sense in 480p, but on today's 1080p and higher-res screens — even mid-DPI screens —
          many players find it very hard to notice the difference between AA ON and AA OFF in real 3D games.
          for how expensive AA is, this is not economical.

          Anisotropic Filtering is the effect that you need for good-looking 3D:
          it's almost free, but it has a huge impact on improving the visuals
          (Anisotropic Filtering stops textures from blurring when viewed at a steep angle).

          So was 3d on mobile working with godot 3 then?

          Yeah Godot 3.x does work better on mobile. At least using GLES2.

            cybereality okay that makes sense but I did realize something. I am using a mesh with a material. The initial material is not rendering correctly but later I am setting a material override. When this is set the new material shows correctly, at least on my phone. Could there be a difference between the two materials that is causing the initial material to fail to render?

              vision_m Could there be a difference between the two materials that is causing the initial material to fail to render?

              Certainly possible.

              I've noticed that too that materials might or might not work depending on where they are attached. Probably a bug.

                So there are three places you can assign a material. On the mesh itself (look under the mesh instance and expand the meshes) on the mesh instance, and then as an override. Sometimes one of these three places work and others do not.

                  cybereality there may be something to that. I am applying a different material through material override and it does work but for some reason when I apply original texture (the texture that is not rendering) as a material override it still does not render. i'll have to look at the other option on the mesh instance vs on the mesh itself. maybe that would make a differnce.