2016-02-19 91 views
0

我做一個小項目的WebGL,我有一個立方體繪製紋理,暫時沒有問題:)WebGL的紋理圖像源更新

但事實是,該圖像是periodly更新保持相同名稱。 而我想要做的是在圖片更新時更新紋理而不更新html頁面。

我嘗試了不同的解決方案作爲SetInterval或不保存緩存的元...但它暫時不起作用。

我只想要一個簡單的功能,它強制定期以.jpg格式「重新加載」圖像。你可以幫我嗎 ??

非常感謝您的未來答案!玩的開心 !!

回答

0

如果你已經有了一個紋理立方體你只需要調用gl.texImage2D新形象更新紋理

gl.bindTexture(gl.TEXTURE_2D, textureToUpdate); 
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, newImage); 
+0

謝謝你的回答,但事實是撒切爾圖片保持相同的名稱,所以瀏覽器的行爲就像如果圖片在緩存中,所以不想重新加載。 –

0

沒有代碼很難給你你的問題的精確解。

  drawingContext.bindTexture(drawingContext.TEXTURE_2D, webGLTexture); 

      drawingContext.texImage2D(drawingContext.TEXTURE_2D, 
             0, 
             drawingContext.RGBA, 
             width, 
             height, 
             0, 
             drawingContext.RGBA, 
             drawingContext.UNSIGNED_BYTE, 
             newData); 

      drawingContext.activeTexture(drawingContext.TEXTURE0); 
      drawingContext.uniform1i(webGLUTextureLoc, 0); 

      // This will most likely be different for you. 
      drawingContext.drawArrays(drawingContext.TRIANGLE_FAN, 0, 4);