WebGLRenderingContext: bindBuffer() 메서드

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

WebGL APIWebGLRenderingContext.bindBuffer() 메서드는 주어진 WebGLBuffer target에 바인딩합니다.

구문

js
bindBuffer(target, buffer)

매개변수

target

바인딩 포인트(target)을 지정하는 GLenum 입니다. 가능한 값들은 다음과 같습니다.

gl.ARRAY_BUFFER

정점 좌표, 텍스처 좌표 데이터 또는 정점 색상 데이터 등의 정점 속성을 포함하는 버퍼입니다.

gl.ELEMENT_ARRAY_BUFFER

요소 인덱스를 위한 버퍼입니다.

WebGL 2 context 를 사용하면 추가로 다음의 값들이 가능합니다.

gl.COPY_READ_BUFFER

한 버퍼 객체에서 다른 버퍼 객체로 복사하기 위한 버퍼입니다.

gl.COPY_WRITE_BUFFER

한 버퍼 객체에서 다른 버퍼 객체로 복사하기 위한 버퍼입니다.

gl.TRANSFORM_FEEDBACK_BUFFER

변환 피드백 작업을 위한 버퍼입니다.

gl.UNIFORM_BUFFER

유니폼 블록을 저장하기 위한 버퍼입니다.

gl.PIXEL_PACK_BUFFER

픽셀 전송 작업을 위한 버퍼입니다.

gl.PIXEL_UNPACK_BUFFER

픽셀 전송 작업을 위한 버퍼입니다.

buffer

바인딩할 WebGLBuffer 입니다.

반환 값

없음 (undefined).

예외

주어진 WebGLBuffer에는 한 target만 바인딩할 수 있습니다. 버퍼를 다른 타겟에 바인딩하려는 시도는 INVALID_OPERATION 오류를 던지고 현재 버퍼 바인딩은 유지됩니다.

deleteBuffer로 삭제로 표시된 WebGLBuffer는 (재)바인딩할 수 없습니다. 시도할 경우 INVALID_OPERATION 오류를 발생시키고, 현재 바인딩은 그대로 유지됩니다.

예제

버퍼를 타겟에 바인딩하기

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();

gl.bindBuffer(gl.ARRAY_BUFFER, buffer);

현재 바인딩 확인하기

현재 버퍼 바인딩을 확인하려면,ARRAY_BUFFER_BINDINGELEMENT_ARRAY_BUFFER_BINDING 상수를 조회하십시오.

js
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);

명세서

Specification
WebGL Specification
# 5.14.5
WebGL 2.0 Specification
# 3.7.1

브라우저 호환성

BCD tables only load in the browser

같이 보기