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.

io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ko/web/api/webglrenderingcontext/index.md)

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

같이 보기