2016-10-06 2 views
2

Imgを3dglglキャンバスアプリの背景に追加しようとしていますが、何らかの理由でそれが動作しない、何が欠けていましたか? 私はすべての必要な初期化ステップがあると思います。background img for canvas webgl

initBkgnd(); 
    gl.clearColor(0.0, 0.0, 0.0, 1.0); 
    gl.enable(gl.DEPTH_TEST); 
    tick(); 


function tick() { 
    requestAnimFrame(tick); 
    drawScene(); 
    initBkgnd(); 
    animate(); 
} 

function initBkgnd() { 
    backTex = gl.createTexture(); 
    backTex.Img = new Image(); 
    backTex.Img.onload = function() { 
     handleBkTex(backTex); 
    } 
    backTex.Img.src = "textures/stars.jpg"; 
} 

function handleBkTex(tex) { 
    gl.bindTexture(gl.TEXTURE_2D, tex); 
    gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true); 
    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, tex.Img); 
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); 
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); 
    gl.bindTexture(gl.TEXTURE_2D, null); 
} 
+0

あなたが "動作しない" とはどういう意味ですか? –

+0

何も起こらなかった、そのimgを表示しない – arii

+0

ieda @gre_gor? 私は何のエラーも受け取りません – arii

答えて

1

大丈夫です。

​​3210

gl.clearColor(0.0, 0.0, 0.0, 0.0); 
initBkgnd(); 

にし、canvas要素のsytleに追加します:ここ は答え、変更がある

<canvas id="myCanvas" style="background: url('textures/stars.jpg')" width="1400" height="800"></canvas>