EXT_texture_norm16 Erweiterung
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die EXT_texture_norm16
Erweiterung ist Teil der WebGL API und bietet eine Reihe neuer 16-Bit-signierter und unsignierter normierter Formate (Fixed-Point-Textur, Renderbuffer und Texture-Buffer).
Wenn diese Erweiterung aktiviert ist:
- Die Methoden
WebGLRenderingContext.texImage2D()
undWebGLRenderingContext.texSubImage2D()
akzeptieren neue Formate, die von dieser Erweiterung bereitgestellt werden. - Die 16-Bit-normierten Fixed-Point-Typen
ext.R16_EXT
,ext.RG16_EXT
undext.RGBA16_EXT
sind als farbrenderbare Formate verfügbar, und Renderbuffer können in diesen Formaten erstellt werden.
WebGL-Erweiterungen sind über die Methode WebGLRenderingContext.getExtension()
verfügbar. Weitere Informationen finden Sie unter Verwendung von Erweiterungen im WebGL-Tutorial.
Hinweis: Diese Erweiterung ist nur für WebGL 2 Kontexte verfügbar.
Konstanten
ext.R16_EXT
-
Red 16-Bit unsigniertes Format. Farbrenderbar.
ext.RG16_EXT
-
RG 16-Bit unsigniertes Format. Farbrenderbar.
ext.RGB16_EXT
-
RGB 16-Bit unsigniertes Format.
ext.RGBA16_EXT
-
RGBA 16-Bit unsigniertes Format. Farbrenderbar.
ext.R16_SNORM_EXT
-
Red 16-Bit signiertes normiertes Format.
ext.RG16_SNORM_EXT
-
RG 16-Bit signiertes normiertes Format.
ext.RGB16_SNORM_EXT
-
RGB 16-Bit signiertes normiertes Format.
ext.RGBA16_SNORM_EXT
-
RGBA 16-Bit signiertes normiertes Format.
Beispiele
Aktivieren der Erweiterung
let ext = gl.getExtension("EXT_texture_norm16");
Texturformate
Die Methode WebGLRenderingContext.texImage2D()
akzeptiert neue Formate, wenn EXT_texture_norm16
aktiviert ist. Beispielaufrufe:
// 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-Formate
Die Methode WebGLRenderingContext.renderbufferStorage()
akzeptiert ext.R16_EXT
,
ext.RG16_EXT
und ext.RGBA16_EXT
als interne Formate, um Renderbuffer in diesen Formaten zu erstellen. Beispielaufrufe:
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);
Spezifikationen
Specification |
---|
WebGL EXT_texture_norm16 Extension Specification |
Browser-Kompatibilität
BCD tables only load in the browser