javascript3dhtml5-canvasviewer

Which library sketchfab use to display the 3D models?


Just wondering...

Which library sketchfab use to display the 3D models? For example: Link

HTML5 canvas of course. Looking in the code I can not understand if they use an external library or if they have written the code themselves.


Solution

  • Actually they seem to use a custom packed library for 3D embedding (on the example link posted)

    https://d2f25wgezub9nf.cloudfront.net/builds/embed-ad258a51926008151f3c.js

    the editor is this custom packed file

    https://d2f25wgezub9nf.cloudfront.net/builds/editor-67a44f4ae306e7bd78a3.js and the viewer is this custom packed file

    https://d2f25wgezub9nf.cloudfront.net/builds/fallbackGeneratorViewer-387bdce98e18a6654652.js

    page source code:

        <script type="text/javascript">
                window['webpackManifest'] = JSON.parse('{
    "0":"0-1c967b67206c448cd138.js",
    "1":"1-0d297699ce16c718e4aa.js",
    "2":"2-05aa8ecb5962ae8dbd5d.js",
    "3":"3-429e7e43701ea9b55d25.js",
    "5":"5-0204c61b5399fe84f239.js",
    "6":"6-763c822a0a2d726a0036.js",
    "11":"11-1104121b7a7583fcc8a5.js",
    "12":"viewer-e459b42392a044580f6f.js",
    "13":"website-513858c9e68720acb02c.js","14":"home-18d7ffed32631755f16e.js",
    "15":"editor-67a44f4ae306e7bd78a3.js",
    "16":"embed-ad258a51926008151f3c.js",
    "17":"playlists-fff084b1baac932dd5f2.js",
    "18":"fallbackGeneratorViewer-387bdce98e18a6654652.js"}');
    <script src="https://d2f25wgezub9nf.cloudfront.net/builds/commons-7433f95ed304266e4ba3.js"></script>
            <script src="https://d2f25wgezub9nf.cloudfront.net/builds/embed-ad258a51926008151f3c.js"></script>
            </script>
    

    enter image description here

    Moreover sketchfab uses its own 3D viewer (https://d2f25wgezub9nf.cloudfront.net/api/sketchfab-viewer-1.0.0.js) as seen in https://sketchfab.com/developers/viewer

    According to wikipedia sketchfab uses its own 3D viewer library based on the OSG.JS JavaScript library

    These should answer your question