Godot: Integrated graphics cause weird glitches in GLES3 (3D grid disappearing depending on the angle and meshes turning black)

Created on 5 Jul 2019  Â·  33Comments  Â·  Source: godotengine/godot

Godot 3.1.1

Windows 10 64-bit with Intel 620HD/AMD 430m

When dealing with meshes, the grid randomly disappears and meshes start turning black and back to normal again on random angles and positions.

Only occurs with dedicated graphics. I used Intel 620HD by default; switching to dedicated fixed the issue.

bug confirmed windows editor rendering

Most helpful comment

Here are a few more details in case it helps narrow down the cause.

PC Information :

Godot 3.2.2.stable
Laptop with no dedicated GPU.
Processor : Intel Core i7-7600U CPU
Integrated Graphics : Intel HD Graphics 620

No problem at all on my machine when using Godot with GLES2.

All of the following describe a default environment with GLES3 enabled.

Scene's Node Tree Setup :

Spatial
-> Mesh Instance (with basic Cube, no Material)
-> OmniLight
-> Camera


Glitch Related to Mouse Interaction :

Hovering over certain elements seems to cause a refresh where the 3D Viewport's grid either appears or disappears, but usually(?) causes the grid to disappear.

Elements that seem to trigger the grid toggling
(Not comprehensive)

  • 3D Transform Widgets (mouse hover) or (click)
  • Objects in the scene (click)
  • the resize "<->" arrow between Docks (mouse hover) or (mouse drag)
  • fields in the Inspector (mouse hover) or (click)

Screencap 1, various UI -> triggering glitch :

I only click five times in the following screen capture:

  • I click to select the node named "Cube" in the Scene dock
  • I click to turn "Cast Shadow" off
  • I middle click to change the Viewport
  • I click to toggle the visibility of the Light node
  • I click to drag the transform gizmo.

Everything else is just by mouse hover:

github godot 30330 upload1 reducedSize_reducedDuplicates_trimmedQuarter


Glitch Related to Lightsource :

When the Light node has its visibility toggled off via the Scene's node tree, the grid is permanently invisible.

Glitch Related to MeshInstance's "Cast Shadow" :

Details on initial setup:

  • I added a MeshInstance to the scene.
  • I added a "New Cubemesh" via the Mesh field in the Inspector.
  • I added no Material.

When MeshInstance -> Geometry -> Cast Shadow is On (default)
the glitch is present.

When MeshInstance -> Geometry -> Cast Shadow is set to "Off"
this glitch does not appear and Godot functions normally.

Similarly, if the MeshInstance has its visibility toggled off on the Scene Tree (& all other nodes still visible) the glitch does not occur.

If there are multiple MeshInstance nodes, no glitch if all of them have ..->Cast Shadow set to "Off", or if they all have their visibility toggled off via the Scene dock.

Screencap 2, demonstration of these lighting settings :

github godot 30330 upload2 reducedSize_reducedDuplicates


Hope this is useful.

Infinite thanks to everyone who contributes to Godot.
This engine is my favorite software in the world.

Have a wonderful day.

All 33 comments

Could you upload an MRP or steps to reproduce so other users can try to reproduce this issue?

Base 3d node->RigidBody->MeshInstance

In the mesh instance, change the mesh to anything (I used Box Shape). This makes the grid disappear.

As for the meshes going black, I imported a gltf file into the scene and that made the other meshes and itself randomly go black at positions or when they were viewed from different angles. At one time, I had two Box Rigid bodies and a gltf file. If one particular box came into the viewport (let's call it BoxA), the gltf body would go black and the grid would disappear. Interestingly enough, once the mesh went black and then BoxA was removed from the viewport (not by changing its own position but by viewing the scene from a different angle), the grid would appear again after it went away the first time. Then I restarted the program and now zooming or viewing the scene from different angles would make Box B go black.

Finally, when playing the scene, when BoxA or the gltf was moved to certain places, either or both would go black. Changing the position of BoxA in the editor made it really random, earlier it went back only when it was moved to a certain part of the scene when playing through the scene.

I believe meshes going black on Intel integrated cards was already reported?

@Altair1234 I'll start guessing now. You have at least one object(like mesh instance) without a material. You are using GLES3.
Trying adding a material to objects without them. Or try GLES2.
Either option I think will fix your issue.
I have the same issue on OpenGL ES 3.0 Renderer: Intel(R) HD Graphics 620 combination.
Waiting for an actual fix. Maybe 4.0 .

You have at least one object(like mesh instance) without a material.

Yep. I just switched to dedicated graphics. Dunno why it didn't automatically.

Hope this is fixed soon. It's impossible for me to use Godot with OpenGL 3.0 while this isn't fixed. Is there some kind of workaround?

@CT-noise If you can provide an MRP or do some testing on your own you greatly increase the chances this will get fixed. As it is, the information above isn't enough for other users to reproduce and thus debug. Most issues like this just die in the issues list as a result.

@CT-noise Upload a minium project that shows your issue.

I have the same/similar issue

I can confirm:

  1. the problem exists only on integrated graphics (UHD Graphics 620), on dedicated (GeForce GTX 980) everything works as expected
  2. assigning a material fixes the problem (like @Anutrix suggested)
  3. the issue exists on the current release (3.2.1)
  4. the issue exists with GLES3, GLES2 works fine

description (only integrated graphics & GLES3)(the issue exist without the GridMap aswell)
In a 3D-Scene GridMap is not always displayed when WorldEnvironment/BackgroundMode is on "Clear Color".
It seems it can display the GridMap or Meshinstances (without material) but not both at the same time.
Camera-Symbol and Editor-Grids also disappear.
When the WorldEnvironment/BackgroundMode is on "Canvas" both are displayed. Same when a Light is active in the scene.
When using GLES2 there is no problem at all.

a
light off and WorldEnvironment Background "clear color"

b
light off and WorldEnvironment Background "canvas"

c
light on and WorldEnvironment Background "clear color"

Workaround:

  1. WorldEnvironment BackgroundMode "canvas"
  2. Light in scene active
  3. using GLES2
  4. when Meshinstance has a Material

reproduce:
(integrated graphics & GLES3)
-Node
--WorldEnvironment (Backgroundmode "clear colou")
--DirectionalLight(off)
--MeshInstance (without Material)

change visibility of MeshInstance
add Material to MeshInstance
add Light to scene
move viewport around (MeshInstance not visible)

test.zip

@maesi321 That fixes the disappearing grid for me, but not the transform arrows. Am I missing something, or is this just not able to be worked around?

@Animatical honestly, I'm not the best one to ask (still a godot-beginner)
The best workaround was for me to add a Shader-Material or to change to GLES2.
Make sure everything in the viewport has a Material...

I recently bought a laptop with intel 620 graphics and can confirm this issue!

Now that I can reproduce, I can try to fix it. My guess is that some memory is not initialized properly.

is this place dead?

@Animatical No (see the rest of this issue tracker). It's just that people can become busy with life sometimes :slightly_smiling_face:

Here are a few more details in case it helps narrow down the cause.

PC Information :

Godot 3.2.2.stable
Laptop with no dedicated GPU.
Processor : Intel Core i7-7600U CPU
Integrated Graphics : Intel HD Graphics 620

No problem at all on my machine when using Godot with GLES2.

All of the following describe a default environment with GLES3 enabled.

Scene's Node Tree Setup :

Spatial
-> Mesh Instance (with basic Cube, no Material)
-> OmniLight
-> Camera


Glitch Related to Mouse Interaction :

Hovering over certain elements seems to cause a refresh where the 3D Viewport's grid either appears or disappears, but usually(?) causes the grid to disappear.

Elements that seem to trigger the grid toggling
(Not comprehensive)

  • 3D Transform Widgets (mouse hover) or (click)
  • Objects in the scene (click)
  • the resize "<->" arrow between Docks (mouse hover) or (mouse drag)
  • fields in the Inspector (mouse hover) or (click)

Screencap 1, various UI -> triggering glitch :

I only click five times in the following screen capture:

  • I click to select the node named "Cube" in the Scene dock
  • I click to turn "Cast Shadow" off
  • I middle click to change the Viewport
  • I click to toggle the visibility of the Light node
  • I click to drag the transform gizmo.

Everything else is just by mouse hover:

github godot 30330 upload1 reducedSize_reducedDuplicates_trimmedQuarter


Glitch Related to Lightsource :

When the Light node has its visibility toggled off via the Scene's node tree, the grid is permanently invisible.

Glitch Related to MeshInstance's "Cast Shadow" :

Details on initial setup:

  • I added a MeshInstance to the scene.
  • I added a "New Cubemesh" via the Mesh field in the Inspector.
  • I added no Material.

When MeshInstance -> Geometry -> Cast Shadow is On (default)
the glitch is present.

When MeshInstance -> Geometry -> Cast Shadow is set to "Off"
this glitch does not appear and Godot functions normally.

Similarly, if the MeshInstance has its visibility toggled off on the Scene Tree (& all other nodes still visible) the glitch does not occur.

If there are multiple MeshInstance nodes, no glitch if all of them have ..->Cast Shadow set to "Off", or if they all have their visibility toggled off via the Scene dock.

Screencap 2, demonstration of these lighting settings :

github godot 30330 upload2 reducedSize_reducedDuplicates


Hope this is useful.

Infinite thanks to everyone who contributes to Godot.
This engine is my favorite software in the world.

Have a wonderful day.

I'm having a similar issue. I'm using a gridmap, and if I get too far away from my tiles, all the meshes are rendered black.

Specs:
Intel i7-6700
Intel HD 530 integrated graphics
GLES 3.0 (The problem does not exist when I use GLES 2.0)

My Project is here:
Pumlet3DClient.zip

And here's a video:
distanceglitch

no info in about 2 months?

@Animatical We don't know exactly what's causing this issue. It's hard to resolve if we don't know the cause :slightly_frowning_face:

@Calinou at least we can rule out outdated drivers, because I've updated them like 5 times today lol

Strange I've been having similar issues on my Dell laptop with UHD620 graphics. I realised that the "newest" driver Dell was giving me was a year and a half old. When I finally went on Intel's homepage and downloaded their latest beta driver from a few weeks ago and force installed that my issues disappeared.

Which beta drivers?

On Fri, Nov 6, 2020 at 11:52 AM Kasper Arnklit Frandsen <
[email protected]> wrote:

Strange I've been having similar issues on my Dell laptop with UHD620
graphics. I realised that the "newest" driver Dell was giving me was a year
and a half old. When I finally went on Intel's homepage and downloaded
their latest beta driver from a few weeks ago and force installed that my
issues disappeared.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/30330#issuecomment-723184887,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APME2VPBI2GJM4KB45Z2MSTSOQSUFANCNFSM4H6AUPOA
.

This one https://downloadcenter.intel.com/download/29950/Intel-Graphics-BETA-Windows-10-DCH-Drivers?product=126789

Be aware I had to download the .zip file, unzip it and tell windows to update the display driver looking in that folder as trying to install the driver with the exe it refused with a message about how I should get the driver from my vendor instead.

Just tried it, doesn't work for me, but this is a good start.

On Mon, Nov 9, 2020 at 9:44 AM Kasper Arnklit Frandsen <
[email protected]> wrote:

This one
https://downloadcenter.intel.com/download/29950/Intel-Graphics-BETA-Windows-10-DCH-Drivers?product=126789

Be aware I had to download the .zip file, unzip it and tell windows to
update the display driver looking in that folder as trying to install the
driver with the exe it refused with a message about how I should get the
driver from my vendor instead.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/30330#issuecomment-724057165,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APME2VOGGFGFSZKN3CWY3MLSO755BANCNFSM4H6AUPOA
.

I think we should rename this issue's title to include GLES3 as it doesn't seem to happen in GLES2.

Also, we should list out Integrated GPUs that still have this issue or if they're fixed so we can better track this issue. Here's current status:

  • [x] Intel HD Graphics 620 (Probably fixed in a beta driver. See https://github.com/godotengine/godot/issues/30330#issuecomment-724057165)
  • [ ] Intel HD Graphics 530

^ I have 620, tried that beta driver and it didn't work. Maybe it's like a 50/50 chance of it working?

Bad news from my side as well. I'm still seeing issues again as well. For me it only seems to happen when a mesh is in the scene that has no material assigned, so it's pretty easy for me to work around now that I realise that. I just assign a new Spatial Material.

EDIT: Ah sorry see now above that that has been reported already. I guess I simply didn't realise I wasn't seeing the problem for a while after updating the driver, because I had scenes where the lights or materials were set. Sorry for any confusion.

In Godot v3.2.4-beta2, this issue is not occurring to me anymore, as shown here (comparing between Godot v3.2.3-stable, in which this issue is occurring, and Godot v3.2.4-beta2).

My device:

  • Windows 10 (64-bit) version (build) 2009 (10.0.19042).
  • Intel® UHD Graphics 620 driver version 27.20.100.8935 (latest stable).

Did the new GLES3/GLES2 batching accidentally fix this? :thinking:

@Calinou it's possible that the issue came from certain memory being overwritten by the editor. In that case batching could very well have fixed it!

I can confirm what kreaninw postet
UHD Graphics 620 / Win10
Godot v3.2.3-stable --> issue exists
Godot v3.2.4-beta2 --> issue gone

@kreaninw @maesi321 Out of curiosity, is the issue still gone if you disable batching for the editor in the Project Settings?

@kreaninw @maesi321 Out of curiosity, is the issue still gone if you disable batching for the editor in the Project Settings?

This issue doesn't appear to me even after disabled the batching, as shown here.

Thanks for checking :slightly_smiling_face: Closing as resolved in 3.2.4beta2 then.

Was this page helpful?
0 / 5 - 0 ratings