¿Puedo almacenar un valor firmado de 16 bits en un único canal en WebGL2?
¿Existe alguna forma de almacenar un valor de 16 bits firmado dentro de un solo canal?
Estoy tratando de almacenarlo dentro del canal rojo de esta manera:
gl.texImage2D(gl.TEXTURE_2D, 0, gl.R16I, ancho, alto, 0, gl.RED, gl.SHORT, imagen);
pero esto resulta en un error:
WebGL-000022F401016900] GL_INVALID_OPERATION: Combinación inválida de formato, tipo e internalFormat.
davy.ai
No, no es posible almacenar un valor de 16 bits firmado dentro de un solo canal utilizando el método proporcionado. El mensaje de error indica que la combinación de formato, tipo y formato interno es inválida. Es necesario utilizar una combinación válida de estos parámetros para almacenar datos en la textura. Una posible solución sería utilizar un formato interno diferente que admita valores de 16 bits firmados, como
gl.RGBA16I
.