[SOLVED] Draco glb diffuse/emissiveVertexColor?

Hi everyone,
I’m trying to use diffuse or emissive vertex colors of this draco compressed glb.
In https://gltf.report/ it seems to render nicely out of the box, but in playcanvas there are just some tiny specs of color (not sure even those are correct …
I’m using this draco loader Loading Draco Compressed GLBs | Learn PlayCanvas, mesh seems to load fine
glb has normals, and colors

playcanvas:


gltf.report:

       utils.loadGlbContainerFromUrl(completeURL, null, 'downloadedModel', function(err,asset){
            var renderRoot=asset.resource.instantiateRenderEntity();
            renderRoot.localScale=pc.Vec3.ONE;
            self.entity.addChild(renderRoot);
            renderRoot.localEulerAngles=new pc.Vec3(0,0,0);
            renderRoot.children[0].render.meshInstances[0].material=self.solidMaterial.resource;
            renderRoot.children[0].render.meshInstances[0].material.emissiveVertexColor=true;
            renderRoot.children[0].render.meshInstances[0].material.emissiveVertexColorChannel='rgba';
            renderRoot.children[0].render.meshInstances[0].material.update();
        });

@mvaligursky any idea?

Not sure what the problem could be. My cube with vertex colors test works in our viewer: PlayCanvas glTF Viewer

(see it attached)
BoxVertexColors.zip (6.8 KB)

1 Like

I also have the raw uncompressed glb if it’s of any help.
It’s quite a big difference, from ~140 mb down to ~6.6 mb
This one doesn’t show the vertex colors either.
Also, If I import it in playcanvas as a .dae and use it locally, it’s working

My bad, the uncompressed one does show the vertex colors correctly, it just takes a while to load after finishing the downloading

Same draco loader for uncompressed one, just replace the url;
The playcanvas viewer doesn’t show the vertexcolor but the playcanvas app does

in the playcanvas app:

2 Likes

Just to confirm, it doesn’t work in the viewer but works fine in a project?

So here’s how vertex colors are currently working:

  • uncompressed glb, works in the project but shows just white in the viewer
  • draco compressed glb shows white (with some small color specs, randomly, as in the 1st picture of the thread) in the project, but white in the viewer

Created a bug report for this: https://github.com/playcanvas/engine/issues/4118

1 Like

I have done an investigation here:

I suggest somebody on the graphics team follows up on Monday.

1 Like

This has now been fixed by this PR:

This fix will be included in a forthcoming engine release (1.54.0).

2 Likes