MeshPhongMaterial is rendered black on Huaweï MediaPad T3

Device

This occur on Huaweï MediaPad T3 10 (AGS-L09) – Androïd 7 / EMUI 5.1 / Snapdragon 425 / 2Go RAM / 800×1280

Note that this issue DO NOT occur on these other devices tested on my own :

  • Huaweï P8 Lite (Android 6 + EMUI 5.1)
  • Huaweï P9
  • HTC Nexus 9 (Android 7.1.1)
  • Galaxy Tab A 2016 ( Android 7)
Description of the problem

Mesh with MeshPhongMaterial is rendered black, the sample of official documentation is concerned too.
screenshot_20171116-190002
All my test with MeshPhongMaterial do the same, whatever light used…
No problem with MeshLambertMaterial (but can’t use it since it don’t accept bumpMap

As an old code of mine worked, I’ve done many test that revealed this issue happen since version 74 of Three.js. Version 73 worked (as 72 and 71)

Warnings on Chrome console :
  • three.min.js:145 : THREE.WebGLRenderer: WEBGL_depth_texture extension not supported.
  • three.min.js:145 : THREE.WebGLRenderer: OES_texture_float_linear extension not supported.
  • three.min.js:93 : THREE.WebGLProgram: gl.getProgramInfoLog() –From Vertex Shader:
    –From Fragment Shader:
    Link was successful.

Three.js version
  • r73 to r86
Browser
  • Chrome
  • Cordova + XWalk
  • Firefox
OS
  • Android
WebGL report :

screenshot_20171116-192023

Author: Fantashit

2 thoughts on “MeshPhongMaterial is rendered black on Huaweï MediaPad T3

  1. Okay, so I bought a Moto G4 Play (XT1609). It’s still on Android 6.0.1.

    screenshot_20180405-143600

    screenshot_20180405-143816

    Not sure how to update it to 7.1, but It’s interesting to see that with 6.0.1 it works fine.

  2. In #14137 it was discovered that changing precision to mediump solves the issue.

    Could you guys try passing the precision to the material like this?

    var material = new THREE.MeshPhongMaterial( { precision: 'mediump' } );
    var material = new THREE.MeshStandardMaterial( { precision: 'mediump' } );

Comments are closed.