WebGLRenderingContext: texSubImage2D() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

TOK1_

Phương thức texSubImage2D() của giao diện WebGLRenderingContext của WebGL API chỉ định hình chữ nhật phụ hai chiều cho hình ảnh kết cấu.

Cú pháp

js
// WebGL 1:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData)
texSubImage2D(target, level, xoffset, yoffset, format, type, source)

// Additionally available in WebGL 2:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData, srcOffset)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, source)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, offset)

Thông số

target

A GLenum chỉ định điểm liên kết (đích) của kết cấu đang hoạt động. Các giá trị có thể:

  • gl.TEXTURE_2D: Kết cấu hai chiều.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_X: Mặt X dương cho kết cấu được ánh xạ hình khối.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Mặt X âm cho kết cấu được ánh xạ hình khối.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Mặt Y dương cho kết cấu được ánh xạ hình khối.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Mặt Y âm cho kết cấu được ánh xạ hình khối.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Mặt Z dương cho kết cấu dạng khối lập phương.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Mặt Z âm cho kết cấu được ánh xạ hình khối.
level

A GLint chỉ định mức độ chi tiết. Cấp 0 là cấp độ hình ảnh cơ sở và cấp độ n là cấp độ giảm mipmap thứ n.

xoffset

A GLint chỉ định tọa độ texel x phía dưới bên trái của tiểu vùng hình chữ nhật có chiều rộng theo chiều cao và chiều rộng của mảng kết cấu.

yoffset

A GLint chỉ định tọa độ texel y phía dưới bên trái của tiểu vùng hình chữ nhật có chiều rộng và chiều cao của mảng kết cấu.

width

A GLsizei chỉ định chiều rộng của họa tiết bằng texels.

height

A GLsizei chỉ định chiều cao của họa tiết tính bằng texels.

format

GLenum chỉ định cách mỗi phần tử số nguyên trong dữ liệu texel thô sẽ được hiểu là thành phần màu. Các giá trị có thể:

  • gl.ALPHA: Loại bỏ các thành phần màu đỏ, xanh lá cây và xanh lam và đọc thành phần alpha.
  • gl.RGB: Loại bỏ các thành phần alpha và đọc các thành phần màu đỏ, lục và lam.
  • gl.RGBA: Các thành phần màu đỏ, xanh lá cây, xanh dương và alpha được đọc từ bộ đệm màu.
  • gl.LUMINANCE: Mỗi thành phần màu là một thành phần độ chói, alpha là 1,0.
  • gl.LUMINANCE_ALPHA: Mỗi thành phần là một thành phần độ chói/alpha.

Khi sử dụng tiện ích mở rộng EXT_sRGB: - ext.SRGB_EXT - ext.SRGB_ALPHA_EXT

Khi sử dụng WebGL2RenderingContext, các giá trị sau đây cũng có sẵn: - gl.RED - gl.RED_INTEGER - gl.RG - gl.RG_INTEGER - gl.RGB_INTEGER - gl.RGBA_INTEGER - gl.DEPTH_COMPONENT - gl.DEPTH_STENCIL

type

A GLenum chỉ định kích thước của từng phần tử số nguyên trong dữ liệu texel thô. Để biết các kết hợp formattype có sẵn, hãy xem WebGLRenderingContext.texImage2D().

Nguồn kết cấu có thể được cung cấp theo một trong ba cách: từ ArrayBuffer (có thể được chia sẻ) bằng cách sử dụng srcDatasrcOffset; từ pixel DOM source; hoặc, trong WebGL 2, từ gl.PIXEL_UNPACK_BUFFER sử dụng offset.

srcData

TypedArray hoặc DataView chứa dữ liệu kết cấu đã nén. Loại của nó phải khớp với tham số type; xem WebGLRenderingContext.texImage2D().

srcOffset Optional

(chỉ WebGL 2) Một số nguyên chỉ định chỉ mục của srcData để bắt đầu đọc từ đó. Mặc định là 0.

source

Đọc từ nguồn pixel DOM, có thể là một trong:

Trong WebGL 1, widthheight luôn được suy ra từ nguồn. Trong WebGL 2, chúng cũng có thể được chỉ định rõ ràng.

offset

(chỉ WebGL 2) A GLintptr chỉ định địa chỉ bắt đầu trong bộ đệm được liên kết với gl.PIXEL_UNPACK_BUFFER.

Giá trị trả về

Không có (undefined).

Ví dụ

js
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, image);

Thông số kỹ thuật

Specification
WebGL Specification
# TEXSUBIMAGE2D
WebGL 2.0 Specification
# 3.7.6

Khả năng tương thích của trình duyệt

Xem thêm