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 API의 WebGLRenderingContext.bindBuffer()
메서드는 주어진 WebGLBuffer
target에 바인딩합니다.
구문
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
오류를 발생시키고, 현재 바인딩은 그대로 유지됩니다.
예제
버퍼를 타겟에 바인딩하기
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
현재 바인딩 확인하기
현재 버퍼 바인딩을 확인하려면,ARRAY_BUFFER_BINDING
과 ELEMENT_ARRAY_BUFFER_BINDING
상수를 조회하십시오.
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