Jump to content

Materials black on Lenovo pad


E.A.
 Share

Recommended Posts

A friend has a Lenovo TB-X304F (https://support.lenovo.com/tw/en/solutions/pd105081)

Running Android 7.1.1 and (should be) latest version of Chrome.

For some reason all materials are just black, any obvious noob mistake?

Friends pad:

image.png.9a8575212be2ca2b8e3c58261e2d9011.png

 

Everything else I tried it on:

image.png.78e8533690d86706d5121ece49e47742.png

Code: https://rawgit.com/AlexanderssonErik/08262/master/GL.html (enable popups and reload)

If I look at the “stats” in the “inspector” I can see that the following isn’t enabled (that is enabled on my PC) on the Lenovo Pad: Compressed Textures, Fragment Depth, Draw Buffers. Can’t find any errors, what should I look for?

 

Cheers,

Erik

Link to comment
Share on other sites

Hi Erik - Looks like a really interesting game.  If you are using compressed textures, there is a PG to test what is supported here:
https://doc.babylonjs.com/resources/multi-platform_compressed_textures#the-solution

Generally BabylonJS has fallback mechanisms for down level devices.  Sometimes we have to dial back our scenes.  Were you able to narrow it down to a playground?

Link to comment
Share on other sites

Thank you brianzinn, Delakosh and Pryme8. It is a hobby project that has gone a bit overboard, where we have physical “LEGO blocks” that can be tracked in space – basically a 3D sculpturing display... Babylon.js and Web Bluetooth seems to be two very attractive methods to simplify deployment and lowering the threshold for creating content.

I managed to find a phone that has a similar problem. For this unit the https://playground.babylonjs.com/ also renders the sphere and the ground black

ZenFone ZB555KL (https://www.gsmarena.com/asus_zenfone_max_(m1)_zb555kl-9097.php)
Android: 8.0.0
Chrome: 68.0.3440.91

Are there some GPUs that are not supported by Babylon.js, or some setting somewhere that might cause this? 

I don’t think that I use any custom shaders, is https://playground.babylonjs.com/ using custom shaders?

Link to comment
Share on other sites

Thank you Pryme8, Delakosh and Hersir.

 The standard Babylon.js playground ( https://playground.babylonjs.com/ , just the sphere and ground) doesn’t work so my assumption would be that it isn’t related to any exotic features. The devices that have problems are in no way top of the line, but also not ancient ..

Samples from here seems to work: http://webglsamples.org/

Some samples from here seems to work and some doesn’t seem to work: https://threejs.org/examples/

 

I tried using WebGL1.0 but the problem remains.

This would be the way to do it?

var engine = new BABYLON.Engine(canvas, true, {disableWebGL2Support: true });

Any other way of dialing back settings?

 

One thing that I can see is that if I turn off “Lights” in the “Inspector” it seems to give similar results

image.png.6487ce572a82a069e449647e91ff2a93.png

Cheers,

Erik

Link to comment
Share on other sites

Seems like none of the light sources are working. However, materials with emissiveColor is working.

 

Might this be the "same" issue:

https://github.com/mrdoob/three.js/issues/12592

https://github.com/mrdoob/three.js/issues/12679

https://github.com/mrdoob/three.js/issues/14137

 

 (?) somehow it can be fixed in three.js by changing the precision of the materials..

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

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

 

Is there something similar in Babylon.js?

 

Link to comment
Share on other sites

Great!

A thousand thanks Sebavan!

engine.getCaps().highPrecisionShaderSupported = false; seems to have solved the problem.

No light: https://playground.babylonjs.com/

OK: https://playground.babylonjs.com/#T7UUGI#1

 

Seems like something is fishy with Adreno 308(?).

Devices not working w/o disabling highPrecisionShaderSupported:

Device

Android

Chrome

CPU

GPU

Lenovo TB-X304F

7.1.1

 

Snapdragon™ MSM8917 64-bit 
(Quad-Core; Up to 1.4 GHz)

Qualcomm® Adreno™ 308

 

ZenFone ZB555KL 

8.0.0

68.0.3440.91

Quad-core 1.4 GHz Cortex-A53

Octa-core 1.4 GHz Cortex-A53

Adreno 308

Adreno 505

 

Do anyone else have the same problem?

Anyone have a good strategy for detecting this? So that not all devices has to run with highPrecisionShaderSupported set to false.

 

Cheers,

Erik

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...