WebGLRenderingContext: bindBuffer() ã¡ã½ãã
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
WebGLRenderingContext.bindBuffer() 㯠WebGL API ã®ã¡ã½ããã§ãæå®ããã WebGLBuffer ãã¿ã¼ã²ããã«çµåãã¾ãã
æ§æ
bindBuffer(target, buffer)
弿°
target-
çµåããå ´æ (ã¿ã¼ã²ãã) ã®
GLenumã§ãã以ä¸ã®å¤ãæå®ãããã¨ãã§ãã¾ããgl.ARRAY_BUFFER-
é ç¹ã®å±æ§ãå«ããããã¡ã¼ã§ãé ç¹åº§æ¨ããã¯ã¹ãã£åº§æ¨ãã¼ã¿ããé ç¹è²ãã¼ã¿ã®ãããªãã®ã§ãã
gl.ELEMENT_ARRAY_BUFFER-
è¦ç´ ã®ä½ç½®æå®ã«ä½¿ããããããã¡ã¼ã§ãã
WebGL 2 ã®ã³ã³ããã¹ãã使ç¨ãã¦ããå ´åã¯ãæ´ã«ä»¥ä¸ã®å¤ãå©ç¨ãããã¨ãã§ãã¾ãã
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 ãçµåã§ãã¾ãããããã¡ã¼ãä»ã®ã¿ã¼ã²ããã«çµåãããã¨ããã¨ãINVALID_OPERATION ã¨ã©ã¼ãçºçãã¦ç¾å¨ã®ãããã¡ã¼çµåããã®ã¾ã¾ã«ãã¾ãã
WebGLBuffer ã deleteBuffer ã«ãã£ã¦åé¤ãããããã«ãã¼ã¯ãããã¨ãï¼åã³ï¼çµåã§ããªããªãã¾ãããããããã¨ãã¦ã 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);
仿§æ¸
| 仿§æ¸ |
|---|
| WebGL Specification > # 5.14.5 > |
| WebGL 2.0 Specification > # 4.7.1 > |