2016-02-19 92 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);