Helion Bestsellery

Szósty zmysł hakera. O hakowaniu systemów społecznych i przywracaniu sprawiedliwych zasad gry
  • Autor: Bruce Schneier
  • Zniżka: 34%
  • Cena: 54.90 35.69 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328911017
  • ISBN: 978-83-289-1101-7
Dodaj Szósty zmysł hakera. O hakowaniu systemów społecznych i przywracaniu sprawiedliwych zasad gry do koszyka

Helion Książka Dnia

Algorytmy w Pythonie. Techniki programowania dla praktyków
  • Autor: Piotr Wróblewski
  • Zniżka: 50%
  • Cena: 119.00 59.50 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328393684
  • ISBN: 978-83-283-9368-4
Dodaj Algorytmy w Pythonie. Techniki programowania dla praktyków do koszyka

compressedTexSubImage2D()

[ Leksykon ] [ JavaScript ] [ Metody ] [ canvas ] [ WebGL ]

WebGLRenderingContext.compressedTexSubImage2D()

[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]

// WebGL 1:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData)

// WebGL 2:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, offset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset, srcLengthOverride)

 

Przykłady: 

const obraz = new Uint8Array(imageDX.obraz);
const szerokość = imageDX.szerokość;
const wysokość = imageDX.wysokość;
const format = imageDX.format;

gl.viewport(0, 0, szerokość, wysokość);

const tekstura = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, tekstura);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);

gl.compressedTexImage2D(gl.TEXTURE_2D, 0, format, szerokość, wysokość, 0, obraz);

const obrazSub = new Uint8Array(obraz.buffer, 0, 16);

gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 4, 4, 4, 4, ext.COMPRESSED_RGBA_S3TC_DXT5_EXT, obrazSub);
console.log(gl.getError() + " gl.compressedTexSubImage2D 4x4 " + gl.INVALID_ENUM);

gl.clearColor(1, 1, 1, 1);

gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);

gl.drawArrays(gl.TRIANGLES, 0, 6);

 

const ext =
gl.getExtension("WEBGL_compressed_texture_s3tc") ||
gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") ||
gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");
gl.compressedTexSubImage2D(
gl.TEXTURE_2D,
0,
256,
256,
512,
512,
ext.COMPRESSED_RGBA_S3TC_DXT5_EXT,
textureData,
);

  

Opis:
Metoda WebGLRenderingContext.compressedTexSubImage2D() określa dwuwymiarowy pod prostokąt dla obrazu tekstury w formacie skompresowanym.

Parametr target - GLenum określenie punktu wiązania docelowego aktywnej skompresowanej tekstury. Możliwa wartość:

gl.TEXTURE_2D: Dwuwymiarowa tekstura.
gl.TEXTURE_CUBE_MAP_POSITIVE_X: Dodatnia ściana X dla tekstury odwzorowanej w kształcie sześcianu.
gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Negatywna ściana X dla tekstury odwzorowanej w kształcie sześcianu.
gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Dodatnia ściana Y dla tekstury odwzorowanej w kształcie sześcianu.
gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Negatywna ściana Y dla tekstury odwzorowanej w kształcie sześcianu.
gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Pozytywna ściana Z dla tekstury odwzorowanej w kształcie sześcianu.
gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Negatywna ściana Z dla tekstury odwzorowanej w kształcie sześcianu.

Parametr level - GLint określenie poziomu szczegółowości. Poziom 0 to podstawowy poziom obrazu, a poziom n to n-ty poziom redukcji mipmapy.

Parametr xoffset - GLint określające przesunięcie poziome w skompresowanym obrazie tekstury.

Parametr yoffset - GLint określające przesunięcie pionowe w skompresowanym obrazie tekstury.

Parametr width - GLsizei określająca szerokość skompresowanej tekstury.

Parametr height - GLsizei określenie wysokości skompresowanej tekstury.

Parametr format - GLenum określenie formatu skompresowanego obrazu. Przed użyciem tej metody należy włączyć skompresowane formaty obrazów w rozszerzeniach WebGL. Możliwa wartość:

Podczas korzystania z WEBGL_compressed_texture_s3tc rozszerzenia:
ext.COMPRESSED_RGB_S3TC_DXT1_EXT
ext.COMPRESSED_RGBA_S3TC_DXT1_EXT
ext.COMPRESSED_RGBA_S3TC_DXT3_EXT
ext.COMPRESSED_RGBA_S3TC_DXT5_EXT

Podczas korzystania z WEBGL_compressed_texture_s3tc_srgb rozszerzenia:
ext.COMPRESSED_SRGB_S3TC_DXT1_EXT
ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT

Podczas korzystania z WEBGL_compressed_texture_etc rozszerzenia:
ext.COMPRESSED_R11_EAC
ext.COMPRESSED_SIGNED_R11_EAC
ext.COMPRESSED_RG11_EAC
ext.COMPRESSED_SIGNED_RG11_EAC
ext.COMPRESSED_RGB8_ETC2
ext.COMPRESSED_RGBA8_ETC2_EAC
ext.COMPRESSED_SRGB8_ETC2
ext.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
ext.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
ext.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2

Podczas korzystania z WEBGL_compressed_texture_pvrtc rozszerzenia:
ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG

Podczas korzystania z WEBGL_compressed_texture_astc rozszerzenia:
ext.COMPRESSED_RGBA_ASTC_4x4_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
ext.COMPRESSED_RGBA_ASTC_5x4_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
ext.COMPRESSED_RGBA_ASTC_5x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
ext.COMPRESSED_RGBA_ASTC_6x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
ext.COMPRESSED_RGBA_ASTC_6x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
ext.COMPRESSED_RGBA_ASTC_8x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
ext.COMPRESSED_RGBA_ASTC_8x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
ext.COMPRESSED_RGBA_ASTC_8x8_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
ext.COMPRESSED_RGBA_ASTC_10x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
ext.COMPRESSED_RGBA_ASTC_10x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
ext.COMPRESSED_RGBA_ASTC_10x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
ext.COMPRESSED_RGBA_ASTC_10x10_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
ext.COMPRESSED_RGBA_ASTC_12x10_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
ext.COMPRESSED_RGBA_ASTC_12x12_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR

Podczas korzystania z EXT_texture_compression_bptc rozszerzenia:
ext.COMPRESSED_RGBA_BPTC_UNORM_EXT
ext.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT
ext.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT
ext.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT

Podczas korzystania z EXT_texture_compression_rgtc rozszerzenia:
ext.COMPRESSED_RED_RGTC1_EXT
ext.COMPRESSED_SIGNED_RED_RGTC1_EXT
ext.COMPRESSED_RED_GREEN_RGTC2_EXT
ext.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT

Parametr imageSize - GLsizei określające liczbę bajtów do odczytania z bufora powiązanego z gl.PIXEL_UNPACK_BUFFER.

Parametr offset - GLintptr określające przesunięcie w bajtach, z którego należy czytać z bufora powiązanego z gl.PIXEL_UNPACK_BUFFER.

Parametr srcData - TypedArray lub DataView, który będzie używany jako magazyn danych dla skompresowanych danych obrazu w pamięci.

Wartość zwracana undefined.

Zobacz też:
Korzystanie z rozszerzeń WebGL -
getExtension() -
compressedTexImage2D() -
WEBGL_compressed_texture_s3tc -
WEBGL_compressed_texture_s3tc_srgb -
WEBGL_compressed_texture_etc -
WEBGL_compressed_texture_pvrtc -
WEBGL_compressed_texture_astc -
EXT_texture_compression_bptc -
EXT_texture_compression_rgtc -

 

Please publish modules in offcanvas position.