如何解决如何在p5.js中从像素数组快速设置Uniform纹理?
我有像素数组
arr8 = new Uint8Array(width*height*4);
arr32f = new Float32Array(width*height);
并且我想将其发送到着色器的
uniform sampler2D tex;
但是p5.js函数.setUniform('tex',img);似乎只接受图片(并且仅接受rgba),我发现将其他副本复制到图片中的唯一方法
img = createImage(width,height);
......
img.loadPixels();
for(let n=0;n<height*width;n+=4){
img.pixels[n] = arr8[n];
img.pixels[n + 1] = ...;
img.pixels[n + 2] = ...;
img.pixels[n + 3] = ...;
}
img.updatePixels();
myShader.setUniform('tex',img);
但是我想在p5.js中提供更快的方式,例如
gl.texImage2D(gl.TEXTURE_2D,gl.LUMINANCE,width,height,gl.FLOAT,new Float32Array(arr32f));
或至少对于RGBA格式
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。