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