2016-07-28 75 views
-2

以下是代碼我從一個教程了:WebGL是不工作

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

<script type="text/JavaScript"> 
    var canvas; 
    var gl; 
    function start() { 
    canvas = document.getElementById("glcanvas"); 
    initWebGL(canvas);  // Initialize the GL context 
    // Only continue if WebGL is available and working 
    if (gl) { 
     alert("works"); 
     gl.clearColor(0.0, 0.0, 0.0, 1.0); // Set clear color to black, fully opaque 
     gl.clearDepth(1.0);     // Clear everything 
     gl.enable(gl.DEPTH_TEST);   // Enable depth testing 
     gl.depthFunc(gl.LEQUAL);   // Near things obscure far things 
    } 
    } 
    function initWebGL() { 
    gl = null; 
    try { 
     gl = canvas.getContext("experimental-webgl"); 
    } 
    catch(e) { 
    } 
    // If we don't have a GL context, give up now 
    if (!gl) { 
     alert("Unable to initialize WebGL. Your browser may not support it."); 
    } 
    } 
</script> 


<body onload="start()"> 
<canvas id="glcanvas" width="640" height="480"> 
    Your browser doesn't appear to support the <code>&lt;canvas&gt;</code> element. 
</canvas> 

黑匣子應該顯示出來,但我只是得到一個純白色的屏幕。警報確實顯示。我在about:config中使用firefox和webgl-force:enabled設置爲true。黑匣子爲什麼不出現?

回答

3

你錯過

// Clear the color as well as the depth buffer. 
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); 

你GL結束通話

source