Javascript 创建WebGL纹理会切断一些数据
我正在使用WebGL,并尝试从多个图像中创建纹理,所有图像都由浮点数组表示,然后将其转换为RGBA 这是我的密码:Javascript 创建WebGL纹理会切断一些数据,javascript,image-processing,webgl,Javascript,Image Processing,Webgl,我正在使用WebGL,并尝试从多个图像中创建纹理,所有图像都由浮点数组表示,然后将其转换为RGBA 这是我的密码: var dataTexture = new Uint8Array(array.length*4); for(var i=0; i<array.length; i+=4) { dataTexture[i] = 255*parseFloat(array[i/4]); dataTexture[i+1] = 255*255*parseFloat(array[i/4])
var dataTexture = new Uint8Array(array.length*4);
for(var i=0; i<array.length; i+=4)
{
dataTexture[i] = 255*parseFloat(array[i/4]);
dataTexture[i+1] = 255*255*parseFloat(array[i/4]);
dataTexture[i+2] = 255*255*255*parseFloat(array[i/4]);
dataTexture[i+3] = 255;
}
gl.bindTexture(gl.TEXTURE_2D, self.mTexture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 512, 512, 0, gl.RGBA, gl.UNSIGNED_BYTE, dataTexture);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.drawArrays(gl.TRIANGLES, 0, 6);
var dataTexture=新的Uint8Array(array.length*4);
对于(var i=0;i,不清楚您在这里试图做什么
dataTexture[i] = 255*parseFloat(array[i/4]);
dataTexture[i+1] = 255*255*parseFloat(array[i/4]);
dataTexture[i+2] = 255*255*255*parseFloat(array[i/4]);
dataTexture[i+3] = 255;
在Uint8Array
元素中可以输入的最大值是255。那么array
项的范围是多少,因为将它们乘以65025
,然后再乘以16581375
还有数组
是由文本组成的吗?否则为什么要调用parseFloat?i@LJᛃ 非常感谢!如果你把这个作为答案,我会把它标记为正确的!:)