Black Artifacts on Android in OpenGL ES 2

2019-03-03 05:54发布

问题:

I have an OpenGL ES 2 code base that runs on iOS, Android, and on PC via the PowerVR emulation libraries.

When I run this code on an LG Optimus G LGE971, I see black artifacts on my model:

http://imageshack.us/photo/my-images/594/renderartifacts.png/

My first reaction was that the near clipping plane might be the issue, but because these artifacts appear on only select devices, I do not believe that is the issue. Any other ideas on what might be causing this?

Also, this isn't captured well in the above image, but the artifacts are not static -- they move around as the model rotates, etc.

回答1:

I think maybe Lighting Calculation in shader code was wrong by mistake.

That looks like only using Ambient light without diffuse & specular.

also I want you to check whether you converted the texture from BGRA to RGBA.



回答2:

The issue has been fixed. I fixed the issue by using

glTexImage2D()

with NULL for the buffer when I set up my mipmap levels, and then using

glTexSubImage2D()

when uploading the texture data into each level.