检测WebGL - Web API 接口参考
文章推薦指數: 80 %
了解更多并加入MDN Web Docs 社区。
检测WebGL. WebGL特性检测.
SkiptomaincontentSkiptosearchSkiptoselectlanguageWeb开发技术WebAPI接口参考WebGLWebGL的例子检测WebGLArticleActions中文(简体)此页面由社区从英文翻译而来。
了解更多并加入MDNWebDocs社区。
检测WebGLWebGL特性检测
«上一页
下一页»
这个例子演示了如何通过渲染上下文来检测WebGL,并将结果报告给用户。
在第一个例子中,我们将检查浏览器是否支持WebGL。
为此,我们将尝试从canvas元素获取WebGL渲染的上下文。
WebGL渲染的上下文是一个接口,通过它你可以设置和查询绘图器的状态,发送数据到WebGL,执行绘制命令。
在单个上下文接口中保存绘图器的状态并不是WebGL独有的。
这在其他绘图技术里也是存在的API,比如2D渲染上下文的canvas。
然而,您可以调整的属性和变量对于每个API来说都是不同的。
[HerewouldgotheresultofWebGLfeaturedetection]
body{ text-align:center; } button{ display:block; font-size:inherit; margin:auto; padding:0.6em; } //Runeverythinginsidewindowloadeventhandler,tomakesure //DOMisfullyloadedandstyledbeforetryingtomanipulateit. window.addEventListener("load",function(){ varparagraph=document.querySelector("p"), button=document.querySelector("button"); //Addingclickeventhandlertobutton. button.addEventListener("click",detectWebGLContext,false); functiondetectWebGLContext(){ //Createcanvaselement.Thecanvasisnotaddedtothe //documentitself,soitisneverdisplayedinthe //browserwindow. varcanvas=document.createElement("canvas"); //GetWebGLRenderingContextfromcanvaselement. vargl=canvas.getContext("webgl") ||canvas.getContext("experimental-webgl"); //Reporttheresult. if(gl&&glinstanceofWebGLRenderingContext){ paragraph.innerHTML= "Congratulations!YourbrowsersupportsWebGL."; }else{ paragraph.innerHTML="FailedtogetWebGLcontext." +"YourbrowserordevicemaynotsupportWebGL."; } } },false); 这个例子的源代码可以在GitHub上获取。«上一页 下一页» Foundaproblemwiththispage?EditonGitHubSourceonGitHubReportaproblemwiththiscontentonGitHubWanttofixtheproblemyourself?SeeourContributionguide.Lastmodified:2022年3月22日,byMDNcontributors
延伸文章資訊
- 1Using WebGL extensions - Web APIs | MDN
WebGL, like its sister APIs (OpenGL and OpenGL ES), supports extensions. A complete list of exten...
- 2WebGL best practices - Web APIs | MDN
WebGL is a complicated API, and it's often not obvious what the recommended ways to use it are. T...
- 3WebGL - 術語表 - MDN Web Docs
WebGL (Web Graphics Library) 是一個可以畫出,2D 和3D圖像的JavaScript API.
- 4WebGL 入門- Web APIs
This page was translated from English by the community. Learn more and join the MDN Web Docs comm...
- 5WebGL types - Web APIs | MDN
WebGL 1 ; GLsizeiptr, long long, Special type for pointer arithmetic. ; GLubyte, octet, 8-bit two...