webgl 纹理图像源更新

webgl texture image source updating

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

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

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

我只想要一个简单的函数,它定期强制 "re-load" .jpg 中的图像。你能帮帮我吗??

非常感谢您以后的回答!玩得开心!!

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

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

没有代码,很难为您的问题提供准确的解决方案。

            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);