0

我在 webgl 中做了一个小项目,我在立方体上绘制了一个纹理,目前没问题:)

但事实是,图像会定期更新并保持相同的名称。我想做的是在图像更新时更新纹理而不更新html页面。

我尝试了不同的解决方案,如 SetInterval 或不保存缓存的元...但它暂时不起作用。

我只想要一个简单的功能,它定期强制“重新加载”.jpg 中的图像。你能帮助我吗 ??

非常感谢您未来的答案!玩得开心 !!

4

2 回答 2

3

如果您已经有一个纹理立方体,您只需调用gl.texImage2D新图像来更新纹理

gl.bindTexture(gl.TEXTURE_2D, textureToUpdate);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, newImage);
于 2016-02-20T08:24:07.277 回答
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);
于 2016-05-18T19:48:05.697 回答