From 2d28c7ca97c8ef41ac60d1efcce01f4db1e4b10b Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Wed, 16 Dec 2020 10:25:27 +0100 Subject: [PATCH] Add docs for EXT_texture_norm16 (#187) * Add docs for EXT_texture_norm16 * Apply suggestions from code review Co-authored-by: Michael[tm] Smith Co-authored-by: Michael[tm] Smith --- .../web/api/ext_texture_norm16/index.html | 108 ++++++++++++++++++ files/en-us/web/api/webgl_api/index.html | 1 + .../renderbufferstorage/index.html | 1 + .../teximage2d/index.html | 1 + .../texsubimage2d/index.html | 1 + 5 files changed, 112 insertions(+) create mode 100644 files/en-us/web/api/ext_texture_norm16/index.html diff --git a/files/en-us/web/api/ext_texture_norm16/index.html b/files/en-us/web/api/ext_texture_norm16/index.html new file mode 100644 index 000000000000000..82569c62f241b94 --- /dev/null +++ b/files/en-us/web/api/ext_texture_norm16/index.html @@ -0,0 +1,108 @@ +--- +title: EXT_texture_norm16 +slug: Web/API/EXT_texture_norm16 +tags: + - API + - Reference + - WebGL + - WebGL extension +--- +
{{APIRef("WebGL")}}
+ +

The EXT_texture_norm16 extension is part of the WebGL API and provides a set of new 16-bit signed normalized and unsigned normalized formats (fixed-point texture, renderbuffer and texture buffer).

+ +

When this extension is enabled:

+
    +
  • The {{domxref("WebGLRenderingContext.texImage2D()")}} and {{domxref("WebGLRenderingContext.texSubImage2D()")}} methods accept new formats provided by this extension.
  • +
  • The 16-bit normalized fixed-point types ext.R16_EXT, ext.RG16_EXT and ext.RGBA16_EXT become available as color-renderable formats and renderbuffers and be created in these formats.
  • +
+ +

WebGL extensions are available using the {{domxref("WebGLRenderingContext.getExtension()")}} method. For more information, see also Using Extensions in the WebGL tutorial.

+ +
+

Availability: This extension is only available to {{domxref("WebGL2RenderingContext", "WebGL 2", "", 1)}} contexts.

+
+ +

Constants

+ +
+
ext.R16_EXT
+
Red 16-bit unsigned format. Color-renderable.
+
ext.RG16_EXT
+
RG 16-bit unsigned format. Color-renderable.
+
ext.RGB16_EXT
+
RGB 16-bit unsigned format.
+
ext.RGBA16_EXT
+
RGBA 16-bit unsigned format. Color-renderable.
+
ext.R16_SNORM_EXT
+
Red 16-bit signed normalized format.
+
ext.RG16_SNORM__EXT
+
RG 16-bit signed normalized format.
+
ext.RGB16_SNORM__EXT
+
RGB 16-bit signed normalized format.
+
ext.RGBA16_SNORM__EXT
+
RGBA 16-bit signed normalized format.
+
+ +

Examples

+ +

Enabling the extension

+
+let ext = gl.getExtension('EXT_texture_norm16');
+
+ +

Texture formats

+ +

The {{domxref("WebGLRenderingContext.texImage2D()")}} method accepts new formats when EXT_texture_norm16 is enabled. Example calls:

+ +
+// imageData = Uint16Array
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.R16_EXT, 1, 1, 0, gl.RED, gl.UNSIGNED_SHORT, imageData);
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.RG16_EXT, 1, 1, 0, gl.RG, gl.UNSIGNED_SHORT, imageData);
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.RGB16_EXT, 1, 1, 0, gl.RGB, gl.UNSIGNED_SHORT, imageData);
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.RGBA16_EXT, 1, 1, 0, gl.RGBA, gl.UNSIGNED_SHORT, imageData);
+
+// imageData = Int16Array
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.R16_SNORM_EXT, 1, 1, 0, gl.RED, gl.SHORT, imageData);
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.RG16_SNORM_EXT, 1, 1, 0, gl.RG, gl.SHORT, imageData);
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.RGB16_SNORM_EXT, 1, 1, 0, gl.RGB, gl.SHORT, imageData);
+gl.texImage2D(gl.TEXTURE_2D, 0, ext.RGBA16_SNORM_EXT, 1, 1, 0, gl.RGBA, gl.SHORT, imageData);
+
+ +

Renderbuffer formats

+ +

The {{domxref("WebGLRenderingContext.renderbufferStorage()")}} method accepts ext.R16_EXT, +ext.RG16_EXT and ext.RGBA16_EXT as internal formats to create renderbuffers in these formats. Example calls:

+ +
+gl.renderbufferStorage(gl.RENDERBUFFER, ext.R16_EXT, 1, 1);
+gl.renderbufferStorage(gl.RENDERBUFFER, ext.RG16_EXT, 1, 1);
+gl.renderbufferStorage(gl.RENDERBUFFER, ext.RGBA16_EXT, 1, 1);
+
+ +

Specifications

+ + + + + + + + + + +
Specification
{{SpecName('EXT_texture_norm16', "", "EXT_texture_norm16")}}
+ +

Browser compatibility

+ + + +

{{Compat("api.EXT_texture_norm16")}}

+ +

See also

+ +
    +
  • {{domxref("WebGLRenderingContext.getExtension()")}}
  • +
  • {{domxref("WebGLRenderingContext.texImage2D()")}}
  • +
  • {{domxref("WebGLRenderingContext.renderbufferStorage()")}}
  • +
diff --git a/files/en-us/web/api/webgl_api/index.html b/files/en-us/web/api/webgl_api/index.html index 90f09633e50b4ed..8e2bc7e944764a3 100644 --- a/files/en-us/web/api/webgl_api/index.html +++ b/files/en-us/web/api/webgl_api/index.html @@ -68,6 +68,7 @@

Extensions

  • {{domxref("EXT_texture_compression_bptc")}}
  • {{domxref("EXT_texture_compression_rgtc")}}
  • {{domxref("EXT_texture_filter_anisotropic")}}
  • +
  • {{domxref("EXT_texture_norm16")}}
  • {{domxref("KHR_parallel_shader_compile")}}
  • {{domxref("OES_element_index_uint")}}
  • {{domxref("OES_fbo_render_mipmap")}}
  • diff --git a/files/en-us/web/api/webglrenderingcontext/renderbufferstorage/index.html b/files/en-us/web/api/webglrenderingcontext/renderbufferstorage/index.html index 18ecc2a4cba6476..d283bb628cdeff3 100644 --- a/files/en-us/web/api/webglrenderingcontext/renderbufferstorage/index.html +++ b/files/en-us/web/api/webglrenderingcontext/renderbufferstorage/index.html @@ -156,4 +156,5 @@

    See also

  • {{domxref("WEBGL_color_buffer_float")}}
  • {{domxref("EXT_sRGB")}}
  • {{domxref("EXT_color_buffer_float")}}
  • +
  • {{domxref("EXT_texture_norm16")}}
  • diff --git a/files/en-us/web/api/webglrenderingcontext/teximage2d/index.html b/files/en-us/web/api/webglrenderingcontext/teximage2d/index.html index f9885643c948531..8b42410cdde8fcd 100644 --- a/files/en-us/web/api/webglrenderingcontext/teximage2d/index.html +++ b/files/en-us/web/api/webglrenderingcontext/teximage2d/index.html @@ -876,5 +876,6 @@

    See also

  • {{domxref("WEBGL_depth_texture")}}
  • {{domxref("OES_texture_float")}}
  • {{domxref("OES_texture_half_float")}}
  • +
  • {{domxref("EXT_texture_norm16")}}
  • {{domxref("EXT_sRGB")}}
  • diff --git a/files/en-us/web/api/webglrenderingcontext/texsubimage2d/index.html b/files/en-us/web/api/webglrenderingcontext/texsubimage2d/index.html index c4b4d0d33cf9195..d6a1d171753e5cd 100644 --- a/files/en-us/web/api/webglrenderingcontext/texsubimage2d/index.html +++ b/files/en-us/web/api/webglrenderingcontext/texsubimage2d/index.html @@ -203,4 +203,5 @@

    See also

  • {{domxref("OES_texture_float")}}
  • {{domxref("OES_texture_half_float")}}
  • {{domxref("EXT_sRGB")}}
  • +
  • {{domxref("EXT_texture_norm16")}}