Baseline Widely available
WebGLRenderingContext.bufferData()
㯠WebGL API ã®ã¡ã½ããã§ããããã¡ã¼ãªãã¸ã§ã¯ãã®ãã¼ã¿ã¹ãã¢ãåæåã使ãã¾ãã
// WebGL1
bufferData(target, usage)
bufferData(target, size, usage)
bufferData(target, srcData, usage)
// WebGL2
bufferData(target, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset, length)
弿°
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
ãã¯ã»ã«ç§»åæä½ã«ä½¿ããããããã¡ã¼ã§ãã
size
GLsizeiptr
ã§ããããã¡ã¼ãªãã¸ã§ã¯ãã®ãã¼ã¿ã¹ãã¢ã®ãµã¤ãºãè¨å®ãã¾ãã
srcData
çç¥å¯
ArrayBuffer
, SharedArrayBuffer
, TypedArray
, DataView
ã®ããããã§ããã¼ã¿ã¹ãã¢ã¸æ ¼ç´ããã¾ãã null
ã«ããå ´åããã¼ã¿ã¹ãã¢ã¯ä½æããã¾ãããå
容ã¯åæåãããæªå®ç¾©ã§ãã
usage
GLenum
ã§ããã¼ã¿ã¹ãã¢ã®æé©åç®çã§ã®ç¨éãæå®ãã¾ãã以ä¸ã®å¤ãåããã¨ãã§ãã¾ãã
gl.STATIC_DRAW
gl.DYNAMIC_DRAW
gl.STREAM_DRAW
gl.STATIC_READ
å 容ã¯ã WebGLãããã¼ã¿ãèªã¿è¾¼ãã§ä¸åº¦ã«æå®ããã¢ããªã±ã¼ã·ã§ã³ããä½åº¦ãåãåããããã¨ãæ³å®ãã¦ãã¾ãã
gl.DYNAMIC_READ
å 容ã¯ã WebGL ãããã¼ã¿ãèªã¿è¾¼ããã¨ã«ãã£ã¦ç¹°ãè¿ãåå®ç¾©ãããã¢ããªã±ã¼ã·ã§ã³ã«ãã£ã¦ä½åº¦ãç §ä¼ããããã¨ãæå³ãã¦ãã¾ãã
gl.STREAM_READ
å 容ã¯ã WebGL ãããã¼ã¿ãèªã¿è¾¼ãã§ä¸åº¦ã«æå®ããã¢ããªã±ã¼ã·ã§ã³ããæå¤§æ°ååãåããããã¨ãæ³å®ãã¦ãã¾ãã
gl.STATIC_COPY
ãã®ã³ã³ãã³ãã¯ã WebGL ãããã¼ã¿ãèªã¿è¾¼ãã§ä¸åº¦ã ãæå®ãã WebGL ã®æç»ãç»åæå®ã³ãã³ãã®ã½ã¼ã¹ã¨ãã¦ä½åº¦ã使ç¨ãããã¨ãæå³ãã¦ãã¾ãã
gl.DYNAMIC_COPY
ãã®ã³ã³ãã³ãã¯ã WebGL ãããã¼ã¿ãèªã¿è¾¼ããã¨ã§ç¹°ãè¿ãåæå®ããã WebGL ã®æç»ã³ãã³ããç»åæå®ã³ãã³ãã®ã½ã¼ã¹ã¨ãã¦ä½åº¦ã使ç¨ããããã¨ãæå³ãã¦ãã¾ãã
gl.STREAM_COPY
å 容㯠WebGL ãããã¼ã¿ãèªã¿è¾¼ãã§ä¸åº¦æå®ãã WebGL ã®æç»ã³ãã³ããç»åæå®ã³ãã³ãã®ã½ã¼ã¹ã¨ãã¦ããããæ°å使ããã¨ãæ³å®ãã¦ãã¾ãã
srcOffset
GLuint
ã§ããããã¡ã¼èªã¿åºããéå§ããè¦ç´ ã®ä½ç½®ã®ãªãã»ãããæå®ãã¾ãã
length
çç¥å¯
GLuint
ã§ãæ¢å®å¤ã¯ 0 ã§ãã
ãªã (undefined
)ã
size
ã§ãã¼ã¿ã¹ãã¢ã使ã§ããªãå ´åãgl.OUT_OF_MEMORY
ã¨ã©ã¼ãçºçãã¾ããsize
ãè² æ°ã®å ´åãgl.INVALID_VALUE
ã¨ã©ã¼ãçºçãã¾ããtarget
ã usage
ã許å¯ãããåæã®ãã®ã§ãªãå ´åãgl.INVALID_ENUM
ã¨ã©ã¼ãçºçãã¾ããconst canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
ãããã¡ã¼æ
å ±ã®åå¾
ç¾å¨ã®ãããã¡ã¼ã®ç¨éããµã¤ãºã確èªããã«ã¯ã WebGLRenderingContext.getBufferParameter()
ã¡ã½ããã使ç¨ãã¦ãã ããã
gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE);
gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE);
åä»ãé
åã®ãµã¤ãºã®åå¾
åä»ãé åã®ãµã¤ãºå¼æ°ãè¨ç®ãã¾ãã
const dataArray = new Float32Array([1, 2, 3, 4]);
const sizeInBytes = dataArray.length * dataArray.BYTES_PER_ELEMENT;
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4