è¿ä¸ªä¾åæè¿°äºä»ç°å¨å¼å§å°è¦éèéå¤ç代ç çæï¼ä»¥åå®ä¹ä¸ä¸ª JavaScript 彿°å¤ç¨ä»¥ç®å WebGL åå§åã
ç¨äºè®¾ç½® WebGL åç°ä¸ä¸æçå¤ç¨ä»£ç ç°å¨ä½ å¾ä¹ æ¯çå°ç¸åçHTML, CSSåJavaScriptéå¤ä¸éåä¸éãæä»¥æä»¬ä»ç°å¨èµ·è¦éèä»ä»¬ãè¿å°ä½¿æä»¬è½å¤ä¸æ³¨äºä»£ç ææè¶£çé¨åç¸å ³å¦ä¹ WebGLã
ç¹å«æ¯ï¼å¨ HTML ç<p>
å
ç´ å
å«ä¸äºæè¿°æ§çææ¬é¡µé¢ä¹å¯ä»¥æ¯éè¯¯æ¶æ¯ï¼ä¸ä¸ª<canvas>
å
ç´ ;åä¸ä¸ªå¯éç<button>
ãCSS è§åå
å«body
, canvas
, åbutton
ãä»»ä½é¢å¤çåä½ç CSS å HTML å°ä¸ä¼æ¾ç¤ºå¨é¡µé¢çå
·ä½çä¾åã
å¨ä»¥ä¸ç¤ºä¾ä¸ï¼æä»¬å°ä½¿ç¨ä¸ä¸ª JavaScript 彿°åè½ï¼getRenderingContext()
ï¼æ¥åå§åWebGL rendering contextãç°å¨ï¼ä½ åºè¯¥è½å¤äºè§£ä»ä¹åè½ãåºæ¬ä¸ï¼å®å¾å°äº WebGL ä»ç»å¸å
ç´ ï¼æ¸²æä¸ä¸æåå§åç»å¾ç¼å²åºï¼æ¸
é¤å®é»è²ï¼å¹¶è¿ååå§åä¸ä¸æãå¨é误çæ
åµä¸ï¼å®ä¼æ¾ç¤ºä¸ä¸ªéè¯¯æ¶æ¯ï¼å¹¶è¿å null
ã
æåï¼ææ JavaScript 代ç å°è¿è¡å¨ä¸ä¸ªç´æ¥ç彿°ï¼è¿æ¯ä¸ç§å¸¸è§ç JavaScript ææ¯ (see Function)ã彿°å£°æåè°ç¨ä¹å°è¢«éèã
HTML<p>[ Some descriptive text about the example. ]</p>
<button>[ Optional button element. ]</button>
<canvas>Your browser does not seem to support HTML5 canvas.</canvas>
CSS
body {
text-align: center;
}
canvas {
display: block;
width: 280px;
height: 210px;
margin: auto;
padding: 0;
border: none;
background-color: black;
}
button {
display: block;
font-size: inherit;
margin: auto;
padding: 0.6em;
}
JavaScript
function getRenderingContext() {
var canvas = document.querySelector("canvas");
canvas.width = canvas.clientWidth;
canvas.height = canvas.clientHeight;
var gl =
canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
if (!gl) {
var paragraph = document.querySelector("p");
paragraph.innerHTML =
"Failed to get WebGL context." +
"Your browser or device may not support WebGL.";
return null;
}
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
gl.clearColor(0.0, 0.0, 0.0, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT);
return gl;
}
The source code of this example is also available on GitHub.
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