1

我创建了这段代码,它使用three.js 库和webgl 旋转带有轨迹球的立方体。它在 chrome 和 firefox 中完美运行,但需要它在 Internet Explorer 10 上运行,我下载了 IeWebgl,据说它可以帮助它在 IE10 上运行,但它什么也没做,只是说 webgl 不受互联网支持,他们的网站上有一些说明,但我有不明白他们。这是我的代码..

4

1 回答 1

1

可以让ie+ieWebGL兼容场景。

为此,您可以从ieWebGL 站点上的演示资源开始。场景必须由另一个结构构建(一些three.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>
于 2013-05-18T14:55:25.160 回答