Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MeshStandardMaterial artifacts on many mediump devices since March 2016 (Nexus 5, Samsung Galaxy.) #9515

Closed
4 of 12 tasks
bhouston opened this issue Aug 15, 2016 · 13 comments
Closed
4 of 12 tasks

Comments

@bhouston
Copy link
Contributor

Description of the problem

There are still artifacts with MeshStandardMaterial on mediump devices, such as a Nexus 5:

This is just zooming into the Standard material example scene as of August 15, 2016: http://threejs.org/examples/#webgl_materials_standard

Nexus 5:
screenshot_20160815-084108

Nexus 5:
screenshot_20160815-084100

Samsung Galaxy Core:
screenshot_2016-08-15-09-49-50

This was previously discussed here: #8353 (comment) and also here: #9501 and here #8349

In our Clara.io fork of ThreeJS we resolved this by forcing highp precision but this imposes a performance issue.

I suggest that we look at other mobile friendly PBR engines (OSG.js, Babylon.js, UE4?) to see how they deal with this precision issue. I suspect they are modify the shading equations to avoid these precision issues.

Three.js version
  • Dev
  • r79
  • ...
Browser
  • All of them
  • Chrome
  • Firefox
  • Internet Explorer
OS
  • All of them
  • Windows
  • Linux
  • Android
  • IOS
Hardware Requirements (graphics card, VR Device, ...)

I have reproduced the error on Nexus 5, Samsung Galaxy Core.

It does not reproduce on iPod touch 6, nor does it reproduce on an iPad Air 2.

@dirtybluejeans
Copy link

Note that this issue impacts iOS as well (at least iPhone 6s)

@bhouston
Copy link
Contributor Author

@dirtybluejeans can you reproduce using the example that I used? Can you share a screenshot of the reproduction. I could not reproduce this morning with that scene on an iPad Touch 6 (equivalent to iPhone 6) nor on an iPad Air 2.

@dirtybluejeans
Copy link

Sure here goes. I could easily find issues on the butt and barrel: the butt had something that appeared to be bullets, but they are actually artifacts. The barrel shows the engravings on it completely disappear during this problem. Each picture only has one issue, so you can clearly compare the two areas.
img_5254 png
img_5255 png

Please do let me know if these aren't clear enough, or if you need views from a certain angle.

@bhouston
Copy link
Contributor Author

Those bullets are there actually. Those it seems like it is clipping going on in your scene that isn't in mine. I do not see shader artifacts, rather I just see clipping artifacts in your posted examples.

@dirtybluejeans
Copy link

You are right, those are actually bullets. Funny though that they show through only at certain angles (usually where they would have a specular spot). I'll look again for shader artefacts.

@dirtybluejeans
Copy link

Here's another go at it. Very hard to spot, considering I've having serious issues with the clipping when on lowp (should I file a separate bug for it?). I did spot some dots (marked) on the barrel at some angles (you can also spot the clipping happening further up the barrel, so these artifacts aren't due to it).

When I originally reported this issue, I was seeing it primarily on very high specular spots (where material roughness was zero or close to it. I haven't found such areas in the current scene, which might be why it can't be spotted so easily (in this scene).

from skitch png

@dirtybluejeans
Copy link

Also spotted some 'moire' like patterns on the Macbook (on lowp), but didn't give it much thought then. Only when I didn't see them in highp I thought I'd go back and take pictures, but couldn't replicate the same set of params. Will put up a picture if I see that happening again.

@bhouston
Copy link
Contributor Author

I believe that @spidersharma03 has time to look into this. He has both a Macbook and a Nexus 5.

@spidersharma03
Copy link
Contributor

Let me try to see the cause of the issues, and hopefully get a fix :-)

@dirtybluejeans
Copy link

@bhouston should I open a separate issue for the weird clipping happening on lowp, since it's not due to shader bugs? The clipping doesn't happen when I switch to highp.

@spidersharma03
Copy link
Contributor

I am sorry, but couldn't get time to look into this issue this time :-(

@dirtybluejeans
Copy link

guys, is there any action on this? Also, @bhouston, should I open a separate issue for the weird clipping happening on lowp, since it's not due to shader bugs? The clipping doesn't happen when I switch to highp.

@mrdoob
Copy link
Owner

mrdoob commented May 25, 2017

@bhouston Your screenshots shows 2 issues. 73e3b92 fixes one of them (checker-like glitches). The moire pattern is still there though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants