ãã®ä¾ã§ã¯ãå®éã«ã¯ã«ã¡ã©ãå転ããããã¨ã§ãæ£æ¹å½¢ãå転ããã¦ããããã«è¦ãã¦ããã¾ããæåã«ãã«ã¡ã©ã®ç¾å¨ã®å転ã追跡ãã夿°ãå¿ è¦ã§ãã
ã¡ã¢: ãã®ã³ã¼ãã "webgl-demo.js" ã¹ã¯ãªããã®å§ãã«è¿½å ãã¦ãã ããã
let squareRotation = 0.0;
let deltaTime = 0;
ããã§ drawScene()
颿°ãæ´æ°ãã¦ãã«ã¡ã©ãæç»ããã¨ãã«ç¾å¨ã®å転ãé©ç¨ããå¿
è¦ãããã¾ããã«ã¡ã©ãæ£æ¹å½¢ã®åææç»ä½ç½®ã«ç§»åãããå¾ãå転ãé©ç¨ãã¾ãã
ã¡ã¢: "draw-scene.js" ã¢ã¸ã¥ã¼ã«ã§ã drawScene()
颿°ã®å®£è¨ãæ´æ°ãã使ç¨ããåè»¢ãæ¸¡ããããã«ãã¾ãã
function drawScene(gl, programInfo, buffers, squareRotation) {
ã¡ã¢: drawScene()
颿°ã®ä¸ã§ã mat4.translate()
ã®å¼ã³åºãã®ç´å¾ã«æ¬¡ã®ã³ã¼ãã追å ãã¦ãã ããã
mat4.rotate(
modelViewMatrix, // åºåå
ã®è¡å
modelViewMatrix, // å転ããè¡å
squareRotation, // ã©ã¸ã¢ã³ã§ã®å転é
[0, 0, 1],
); // å転軸
ãã㯠modelViewMatrix ãç¾å¨ã® squareRotation
ã®å¤ã ããZ 軸ãä¸å¿ã«å転ããã¾ãã
å®éã«ã¢ãã¡ã¼ã·ã§ã³ãããã«ã¯ã squareRotation
ã®å¤ãæéã¨ã¨ãã«å¤åãããã³ã¼ãã追å ããå¿
è¦ãããã¾ãã
ã¡ã¢: ãã®ã³ã¼ãã main()
颿°ã®çµããã«è¿½å ããæ¢åã® drawScene()
ã®å¼ã³åºããç½®ãæãã¦ãã ããã
let then = 0;
// ç¹°ãè¿ãã·ã¼ã³ãæç»
function render(now) {
now *= 0.001; // ç§ã«å¤æ
deltaTime = now - then;
then = now;
drawScene(gl, programInfo, buffers, squareRotation);
squareRotation += deltaTime;
requestAnimationFrame(render);
}
requestAnimationFrame(render);
ãã®ã³ã¼ãã§ã¯ requestAnimationFrame
ãç¨ãã¦ãåãã¬ã¼ã ã§é¢æ° "render
" ãå¼ã³åºããããã©ã¦ã¶ã¼ã«ä¾é ¼ãã¾ãã requestAnimationFrame
ã¯ãã¼ã¸ãèªã¿è¾¼ã¾ãã¦ããã®æå»ãããªç§åä½ã§æ¸¡ãã¾ãããããç§ã«å¤æããããããååã®æå»ãå¼ã㦠deltaTime
ãè¨ç®ãã¾ãã
æå¾ã« squareRotation
ãæ´æ°ãã¾ãã
ã³ã¼ãã確èªãã | æ°ãããã¼ã¸ã§ãã¢ãéã
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