HTML5   发布时间:2022-04-25  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了html5 – 在WebGL中用纹理替换颜色大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_874_1@
在视频游戏中,仅应用颜色以帮助加速加载过程.纹理准备好后,它们会替换当前颜色.有没有办法在WebGL中执行此操作?到目前为止,我见过的所有教程只显示了如何加载颜色或纹理(不是一个一个).

我猜想每个形状的缓冲区需要在纹理完全加载后改变.我认为这是通过AJAX调用键控纹理可用,然后通过某种JavaScript函数应用.在没有复杂的图像加载过程的情况下,WebGL是否有内置的方法

解决方法

在我所看到的大多数游戏中,你所描述的行为通常都是以每顶点着色或非常低的纹理开始,并在可用时将其“混合”到完整的纹理.这种平稳的过渡很棘手,但如果你想要的只是从一个到另一个快速“流行”,那应该不会太麻烦.

我将采取的基本路线是创建一个具有纹理坐标和颜色信息的顶点缓冲区,以及两个不同的着色器.一个着色器将使用颜色信息,另一个将忽略它并使用纹理.一旦纹理准备好,您就会发信号通知网格开始使用基于纹理的网格.

至于检测图像负载,这根本不难,你甚至不需要AJAX:

var image = new Image();
image.addEventListener("load",function() {
    // Image is done loading,push to texture
    gl.bindTexture(gl.TEXTURE_2D,texturE);
    gl.texImage2D(gl.TEXTURE_2D,gl.RGBA,gl.UNSIGNED_BYTE,imagE);
    // Set up any other state needed,such as switching the shader for the mesh
},truE);
image.src = src;

我不确定在没有张贴真正大的代码块的情况下,我可以在这主题上给予多少帮助,但如果你还在努力,我可以详细介绍其他部分.

大佬总结

以上是大佬教程为你收集整理的html5 – 在WebGL中用纹理替换颜色全部内容,希望文章能够帮你解决html5 – 在WebGL中用纹理替换颜色所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。