You can render using three.js, Babylon, etc. to a different canvas and put that canvas in front of or behind the C3 canvas with transparency.
You can also render to a different canvas and use that for a C3 object's texture, which makes it easier to place the object in C3's Z order.
Generally it requires another 3D 'engine' like three.js, modelviewer (which I just saw another dev cleverly use), Babylon, etc. to do the 3D render and then a method to include it in the display.
Here's a C3 & Babylon example I did a while back