Baseline Widely available *
WebGLShader 㯠WebGL API ã®ä¸é¨ã§ãé ç¹ã·ã§ã¼ãã¼ã¨ãã©ã°ã¡ã³ãã·ã§ã¼ãã¼ã表ãã¾ãã WebGLProgram
ã¯ä¸¡æ¹ã®ç¨®é¡ã®ã·ã§ã¼ãã¼ãå¿
è¦ã§ãã
WebGLShader ã使ããã«ã¯ WebGLRenderingContext.createShader
ã使ç¨ãããããã WebGLRenderingContext.shaderSource()
ã使ç¨ã㦠GLSL ã½ã¼ã¹ã³ã¼ããçµã³ä»ããæå¾ã« WebGLRenderingContext.compileShader()
ãå¼ã³åºãã¦ã·ã§ã¼ãã¼ã宿ããã³ã³ãã¤ã«ãã¾ãããã®æç¹ã§ã¯ WebGLShader ã¯ã¾ã 使ç¨å¯è½ãªå½¢ã«ãªã£ã¦ãããã WebGLProgram
ã«é¢é£ä»ããå¿
è¦ãããã¾ãã
function createShader(gl, sourceCode, type) {
// gl.VERTEX_SHADER ã¾ã㯠gl.FRAGMENT_SHADER ã®ã©ã¡ãããã³ã³ãã¤ã«
const shader = gl.createShader(type);
gl.shaderSource(shader, sourceCode);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
const info = gl.getShaderInfoLog(shader);
throw `WebGL ããã°ã©ã ãã³ã³ãã¤ã«ã§ãã¾ããã§ããã\n\n${info}`;
}
return shader;
}
ã·ã§ã¼ãã¼ã®åãä»ãã«ã¤ãã¦ã¯ WebGLProgram
ãåç
§ãã¦ãã ããã
ã·ã§ã¼ãã¼ã®ã½ã¼ã¹ã³ã¼ãæååã®æ¸ãè¾¼ã¿ã®ã¢ã¯ã»ã¹ã«ã¯ãä»ã«ãå¤ãã®æ¦ç¥ããããã¨ã«æ³¨æãã¦ãã ããããããã®ä¾ã¯èª¬æã®ããã®ãã®ã§ãã
const vertexShaderSource =
"attribute vec4 position;\n" +
"void main() {\n" +
" gl_Position = position;\n" +
"}\n";
// ä¸ã®ä¾ã® createShader 颿°ã使ã
const vertexShader = createShader(gl, vertexShaderSource, gl.VERTEX_SHADER);
ãã©ã°ã¡ã³ãã·ã§ã¼ãã¼ã®ä½æ
const fragmentShaderSource =
"void main() {\n" + " gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n" + "}\n";
// ä¸ã®ä¾ã® createShader 颿°ã使ã
const fragmentShader = createShader(
gl,
fragmentShaderSource,
gl.FRAGMENT_SHADER,
);
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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