Web applications 如何使用纹理绘制背景webgl
我是webgl的新手,我被这个奇怪的问题困扰着 我尝试加载纹理并将其绘制为画布的背景。 我只需要画一次背景。 所以从逻辑上讲,我只需要调用我的函数trackground()一次 这是问题的片段,您可以在这里查看完整代码的源代码 当我执行上面的代码时,它不起作用。我的画布变黑了。假设我的牵引杆接地功能正常工作Web applications 如何使用纹理绘制背景webgl,web-applications,webgl,Web Applications,Webgl,我是webgl的新手,我被这个奇怪的问题困扰着 我尝试加载纹理并将其绘制为画布的背景。 我只需要画一次背景。 所以从逻辑上讲,我只需要调用我的函数trackground()一次 这是问题的片段,您可以在这里查看完整代码的源代码 当我执行上面的代码时,它不起作用。我的画布变黑了。假设我的牵引杆接地功能正常工作 function tick() { requestAnimFrame(tick); drawBackground(); } functi
function tick() {
requestAnimFrame(tick);
drawBackground();
}
function webGLStart() {
var canvas = document.getElementById("lesson05-canvas");
initGL(canvas);
initShaders();
initBuffers();
initTexture();
gl.clearColor(0.0, 0.0, 0.0, 1.0);
gl.enable(gl.DEPTH_TEST);
tick();
}
当我这样做的时候,它是有效的,我不知道为什么我必须调用tick和requestAnimateFrame(tick),这看起来像是递归。
但如果我只想画一次,我不明白为什么我需要不断地画
任何帮助或解释都会很好
谢谢我怀疑您在以下某些情况下对获取资源进行了一些异步调用:
initShaders();
initBuffers();
initTexture();
然后,当您仅调用一次trackground()时,某些资源的加载仍在进行中。我怀疑您在以下某些情况下对获取资源进行了一些异步调用:
initShaders();
initBuffers();
initTexture();
然后,当您仅调用一次traffackground()时,某些资源的加载仍在进行中