Baseline Widely available *
WebGLProgram
㯠WebGL API ã®ä¸é¨ã§ã ã¯ãé ç¹ã·ã§ã¼ãã¼ã¨ãã©ã°ã¡ã³ãã·ã§ã¼ãã¼ï¼ã©ã¡ãã GLSL ã§æ¸ããã¦ãã¾ãï¼ã® 2 ã¤ã®ã³ã³ãã¤ã«æ¸ã¿ WebGLShader
ã®çµã¿åããã§ãã
WebGLProgram
ã使ããã«ã¯ã GL ã³ã³ããã¹ãã® createProgram()
颿°ãå¼ã³åºãã¾ãã attachShader()
ã使ç¨ãã¦ã·ã§ã¼ãã¼ããã°ã©ã ãå²ãå½ã¦ãå¾ã使ç¨å¯è½ãªããã°ã©ã ã«ãªã³ã¯ãã¾ãã以ä¸ã®ã³ã¼ãã«ç¤ºãã¾ãã
const program = gl.createProgram();
// æ¢åã®ã·ã§ã¼ãã¼ãåãä»ãã
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
const info = gl.getProgramInfoLog(program);
throw `WebGL ããã°ã©ã ãã³ã³ãã¤ã«ã§ãã¾ããã§ããã\n\n${info}`;
}
ä¸ã®ä¾ã® vertexShader
㨠fragmentShader
ã®ä½æã«ã¤ãã¦ã¯ WebGLShader
ãåç
§ãã¦ãã ããã
ããã°ã©ã ã使ã£ã¦å®éã«ä½æ¥ãè¡ãã«ã¯ã GPU ã«ããã°ã©ã ã使ç¨ããããã«æç¤ºããé©åãªãã¼ã¿ã¨è¨å®ãªãã·ã§ã³ããã¤ã³ãããæå¾ã«ç»é¢ã«ä½ããæç»ãã¾ãã
// ããã°ã©ã ã使ç¨
gl.useProgram(program);
// æ¢åã®å±æ§ãã¼ã¿ããã¤ã³ã
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.enableVertexAttribArray(attributeLocation);
gl.vertexAttribPointer(attributeLocation, 3, gl.FLOAT, false, 0, 0);
// åä¸ã®ä¸è§å½¢ãæç»
gl.drawArrays(gl.TRIANGLES, 0, 3);
ããã°ã©ã ã®åé¤
ããã°ã©ã ã®ãªã³ã¯ã«ã¨ã©ã¼ããã£ãå ´åãã¾ãã¯æ¢åã®ããã°ã©ã ãåé¤ãããå ´åã¯ã WebGLRenderingContext.deleteProgram()
ãå®è¡ããã ãã§ããããã«ããããªã³ã¯ãããããã°ã©ã ã®ã¡ã¢ãªãè§£æ¾ããã¾ãã
gl.deleteProgram(program);
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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