我已经创建了此代码,该代码使用three.js库和webgl旋转了带有轨迹球的多维数据集。它在chrome和firefox中工作完美,但需要它在Internet Explorer 10上工作,我下载了IeWebgl,据说它可以在IE10上工作,但是它什么也没做,只是说webgl没有被互联网支持,他们的网站上有一些说明,但是我确实不了解他们。这是我的代码。

最佳答案

可以制作ie + ieWebGL兼容的场景。

为此,您可以从demos' sources on ieWebGL site开始。
场景必须由另一种结构构建(某些三.js脚本必须由require.js加载)。

这似乎工作:

<script src="http://iewebgl.com/scripts/webglhelper.js" type="text/javascript"></script>
<script src="path/require.js"></script>

<script src="other_three.js-scripts"></script>

<script>

    // stub for "console" object, because IE does not have it, when page is not under debugger.
    var console = console || {
        'warn': function (msg) { },
        'log': function (msg) { },
        'error': function (msg) { }
    };

    var container, camera, controls, scene, renderer;

    function start()
    {
        require
        (
            ["path/build/three.min.js", "path/examples/js/controls/your_controls.js"],
            function ()
            {
                init();
                animate();
            }
        );
    }

    function init()
    {
        container = document.getElementById('renderCanvas');

        // renderer
        renderer = new THREE.WebGLRenderer({ 'canvas': container });
        renderer.setSize(window.innerWidth, window.innerHeight);

        scene = new THREE.Scene();
        ...
    }
    ...
</script>

<!-- create proper element (native canvas element or IEWebGL plugin object element) depending on web browser and WebGL support -->
<script id="WebGLCanvasCreationScript"type="text/javascript">WebGLHelper.CreateGLCanvasInline('renderCanvas', start)</script>

09-30 16:26