问题描述
我有像素数组
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 (将#修改为@)