Home > Net >  Can I store signed 16bit value in single channel in webgl2?
Can I store signed 16bit value in single channel in webgl2?

Time:12-11

Is there a way to store signed 16bit value inside single channel?

Im trying to store it inside red channel like this:

  gl.texImage2D(gl.TEXTURE_2D, 0, gl.R16I, width, height, 0, gl.RED, gl.SHORT, image);

but it results in error:

[.WebGL-000022F401016900] GL_INVALID_OPERATION: Invalid combination of format, type and internalFormat.

CodePudding user response:

For integral data the format argument must be gl.RED_INTEGER:

gl.texImage2D(gl.TEXTURE_2D, 0, gl.R16I, width, height, 0, gl.RED, gl.SHORT, image);

gl.texImage2D(gl.TEXTURE_2D, 0, gl.R16I, width, height, 0, gl.RED_INTEGER, gl.SHORT, image);
  • Related