WebGL2RenderingContext - Web API 接口参考 | MDN

文章推薦指數: 80 %
投票人數:10人

WebGL 2 是 WebGL 1 的扩展。

WebGL2RenderingContext 接口实现了 WebGLRenderingContext 接口的所有成员。

有一些 WebGL 1 上下文中的方法在使用 WebGL 2 上下文的 ... SkiptomaincontentSkiptoselectlanguageWeb开发技术WebAPI接口参考WebGL2RenderingContextArticleActions中文(简体)ThispagewastranslatedfromEnglishbythecommunity.LearnmoreandjointheMDNWebDocscommunity.常量状态信息缓冲区帧缓冲区渲染缓冲区纹理程序和着色器Uniforms和Attributes绘图缓冲区查询对象采样对象同步对象变换反馈Uniform缓冲对象顶点数组对象规范浏览器兼容性相关链接RelatedTopicsWebGLAPIWebGL2RenderingContext方法beginQuery()beginTransformFeedback()bindBufferBase()bindBufferRange()(en-US)bindSampler()(en-US)bindTransformFeedback()(en-US)bindVertexArray()(en-US)blitFramebuffer()(en-US)clearBuffer[fiuv]()(en-US)clientWaitSync()(en-US)compressedTexSubImage3D()(en-US)copyBufferSubData()(en-US)copyTexSubImage3D()(en-US)createQuery()(en-US)createSampler()createTransformFeedback()(en-US)createVertexArray()deleteQuery()(en-US)deleteSampler()(en-US)deleteSync()(en-US)deleteTransformFeedback()(en-US)deleteVertexArray()(en-US)drawArraysInstanced()(en-US)drawBuffers()drawElementsInstanced()(en-US)drawRangeElements()(en-US)endQuery()(en-US)endTransformFeedback()(en-US)fenceSync()(en-US)framebufferTextureLayer()(en-US)getActiveUniformBlockName()(en-US)getActiveUniformBlockParameter()(en-US)getActiveUniforms()(en-US)getBufferSubData()(en-US)getFragDataLocation()(en-US)getIndexedParameter()(en-US)getInternalformatParameter()(en-US)getQuery()(en-US)getQueryParameter()(en-US)getSamplerParameter()(en-US)getSyncParameter()(en-US)getTransformFeedbackVarying()(en-US)getUniformBlockIndex()(en-US)getUniformIndices()(en-US)invalidateFramebuffer()(en-US)invalidateSubFramebuffer()(en-US)isQuery()(en-US)isSampler()(en-US)isSync()(en-US)isTransformFeedback()(en-US)isVertexArray()(en-US)pauseTransformFeedback()(en-US)readBuffer()(en-US)renderbufferStorageMultisample()(en-US)resumeTransformFeedback()(en-US)samplerParameter[if]()(en-US)texImage3D()texStorage2D()(en-US)texStorage3D()(en-US)texSubImage3D()(en-US)transformFeedbackVaryings()(en-US)uniform[1234][uif][v]()uniformBlockBinding()(en-US)uniformMatrix[234]x[234]fv()vertexAttribDivisor()(en-US)vertexAttribI4[u]i[v]()(en-US)vertexAttribIPointer()(en-US)waitSync()(en-US)RelatedpagesforWebGLANGLE_instanced_arraysEXT_blend_minmax(en-US)EXT_color_buffer_half_float(en-US)EXT_disjoint_timer_query(en-US)EXT_frag_depth(en-US)EXT_sRGB(en-US)EXT_shader_texture_lod(en-US)EXT_texture_filter_anisotropic(en-US)OES_element_index_uint(en-US)OES_standard_derivatives(en-US)OES_texture_float(en-US)OES_texture_float_linear(en-US)OES_texture_half_float(en-US)OES_texture_half_float_linear(en-US)OES_vertex_array_objectWEBGL_color_buffer_float(en-US)WEBGL_compressed_texture_atcWEBGL_compressed_texture_etc1(en-US)WEBGL_compressed_texture_pvrtc(en-US)WEBGL_compressed_texture_s3tc(en-US)WEBGL_compressed_texture_s3tc_srgb(en-US)WEBGL_debug_renderer_info(en-US)WEBGL_debug_shaders(en-US)WEBGL_depth_texture(en-US)WEBGL_draw_buffers(en-US)WEBGL_lose_contextWebGLActiveInfoWebGLBufferWebGLContextEventWebGLFramebufferWebGLObjectWebGLProgramWebGLQueryWebGLRenderbufferWebGLRenderingContextWebGLSamplerWebGLShaderWebGLShaderPrecisionFormatWebGLSyncWebGLTextureWebGLTransformFeedback(en-US)WebGLUniformLocationWebGLVertexArrayObject常量状态信息缓冲区帧缓冲区渲染缓冲区纹理程序和着色器Uniforms和Attributes绘图缓冲区查询对象采样对象同步对象变换反馈Uniform缓冲对象顶点数组对象规范浏览器兼容性相关链接WebGL2RenderingContextExperimental:这是一个实验中的功能此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。

由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

WebGL2RenderingContext 接口在底层使用了OpenGLES3.0为HTML的元素提供了绘图上下文。

要获取该接口的实例对象需要调用一个  标签对象的 getContext()函数,并将"webgl2"作为参数传递: varcanvas=document.getElementById('myCanvas'); vargl=canvas.getContext('webgl2'); WebGL2是WebGL1的扩展。

 WebGL2RenderingContext 接口实现了WebGLRenderingContext接口的所有成员。

 有一些WebGL1上下文中的方法在使用WebGL2上下文的时候可以接受附加值。

 您可以通过WebGL1的参考页了解这些信息。

这个 WebGL教程 中提供了关于如何开始使用WebGL的更多信息、示例以及资源。

常量请看 WebGL常量 页面。

状态信息 WebGL2RenderingContext.getIndexedParameter()(en-US) 返回指定目标的索引值。

缓冲区 WebGL2RenderingContext.copyBufferSubData()(en-US) 将缓冲区的部分数据复制到另一个缓冲区。

WebGL2RenderingContext.getBufferSubData()(en-US) 从缓冲区中读取数据,然后将其写入到 ArrayBuffer或SharedArrayBuffer中。

帧缓冲区 WebGL2RenderingContext.blitFramebuffer()(en-US) 将一个像素块从读取帧缓冲区传输到绘制帧缓冲区。

WebGL2RenderingContext.framebufferTextureLayer()(en-US) 附着一个单层的材质到帧缓冲区。

WebGL2RenderingContext.invalidateFramebuffer()(en-US) 使附着到缓冲区的内容失效。

WebGL2RenderingContext.invalidateSubFramebuffer()(en-US) 使附着到缓冲区的部分内容失效。

WebGL2RenderingContext.readBuffer()(en-US) 选择一个颜色缓冲作为像素的source。

渲染缓冲区 WebGL2RenderingContext.getInternalformatParameter()(en-US) Returnsinformationaboutimplementation-dependentsupportforinternalformats. WebGL2RenderingContext.renderbufferStorageMultisample()(en-US) Createsandinitializesarenderbufferobject'sdatastoreandallowsspecifyingthenumberofsamplestobeused. 纹理 WebGL2RenderingContext.texStorage2D()(en-US) Specifiesalllevelsoftwo-dimensionaltexturestorage. WebGL2RenderingContext.texStorage3D()(en-US) Specifiesalllevelsofathree-dimensionaltextureortwo-dimensionalarraytexture. WebGL2RenderingContext.texImage3D() Specifiesathree-dimensionaltextureimage. WebGL2RenderingContext.texSubImage3D()(en-US) Specifiesasub-rectangleofthecurrent3Dtexture. WebGL2RenderingContext.copyTexSubImage3D()(en-US) CopiespixelsfromthecurrentWebGLFramebufferintoanexisting3Dtexturesub-image. WebGL2RenderingContext.compressedTexImage3D()(en-US) Specifiesathree-dimensionaltextureimageinacompressedformat. WebGL2RenderingContext.compressedTexSubImage3D()(en-US) Specifiesathree-dimensionalsub-rectangleforatextureimageinacompressedformat. 程序和着色器 WebGL2RenderingContext.getFragDataLocation()(en-US) Returnsthebindingofcolornumberstouser-definedvaryingoutvariables. Uniforms和Attributes WebGL2RenderingContext.uniform[1234][fiu][v]() 指定一个uniform变量。

WebGL2RenderingContext.uniformMatrix[1234][fv]() 指定一个uniform矩阵变量。

WebGL2RenderingContext.vertexAttribI[iuv]()(en-US) Methodsspecifyingintegervaluesforgenericvertexattributes. WebGL2RenderingContext.vertexAttribIPointer()(en-US) Specifiesintegerdataformatsandlocationsofvertexattributesinavertexattributesarray. 绘图缓冲区 WebGL2RenderingContext.vertexAttribDivisor()(en-US) Modifiestherateatwhichgenericvertexattributesadvancewhenrenderingmultipleinstancesofprimitiveswithgl.drawArraysInstanced()(en-US)andgl.drawElementsInstanced()(en-US). WebGL2RenderingContext.drawArraysInstanced()(en-US) Rendersprimitivesfromarraydata.Inaddition,itcanexecutemultipleinstancesoftherangeofelements. WebGL2RenderingContext.drawElementsInstanced()(en-US) Rendersprimitivesfromarraydata.Inaddition,itcanexecutemultipleinstancesofasetofelements. WebGL2RenderingContext.drawRangeElements()(en-US) Rendersprimitivesfromarraydatainagivenrange. WebGL2RenderingContext.drawBuffers() Specifiesalistofcolorbufferstobedrawninto. WebGL2RenderingContext.clearBuffer[fiuv]()(en-US) Clearsbuffersfromthecurrentlyboundframebuffer. 查询对象MethodsforworkingwithWebGLQueryobjects. WebGL2RenderingContext.createQuery()(en-US) 创建一个新的WebGLQuery对象. WebGL2RenderingContext.deleteQuery()(en-US) 删除一个指定的WebGLQuery对象。

WebGL2RenderingContext.isQuery()(en-US) ReturnstrueifagivenobjectisavalidWebGLQueryobject. WebGL2RenderingContext.beginQuery() 开始一个异步查询。

WebGL2RenderingContext.endQuery()(en-US) Markstheendofanasynchronousquery. WebGL2RenderingContext.getQuery()(en-US) 返回一个指定目标的 WebGLQuery对象。

WebGL2RenderingContext.getQueryParameter()(en-US) 返回关于一个查询的信息。

采样对象 WebGL2RenderingContext.createSampler() CreatesanewWebGLSamplerobject. WebGL2RenderingContext.deleteSampler()(en-US) DeletesagivenWebGLSamplerobject. WebGL2RenderingContext.bindSampler()(en-US) Bindsagiven WebGLSamplertoatextureunit. WebGL2RenderingContext.isSampler()(en-US) ReturnstrueifagivenobjectisavalidWebGLSamplerobject. WebGL2RenderingContext.samplerParameter[if]()(en-US) Setssamplerparameters. WebGL2RenderingContext.getSamplerParameter()(en-US) Returnssamplerparameterinformation. 同步对象 WebGL2RenderingContext.fenceSync()(en-US) 创建一个WebGLSync对象并插入到GL命令流中。

WebGL2RenderingContext.isSync()(en-US) ReturnstrueifthepassedobjectisavalidWebGLSyncobject. WebGL2RenderingContext.deleteSync()(en-US) 删除一个指定的WebGLSync对象。

WebGL2RenderingContext.clientWaitSync()(en-US) BlocksandwaitsforaWebGLSyncobjecttobecomesignaledoragiventimeouttobepassed. WebGL2RenderingContext.waitSync()(en-US) Returnsimmediately,butwaitsontheGLserveruntilthegivenWebGLSyncobjectissignaled. WebGL2RenderingContext.getSyncParameter()(en-US) 根据一个 WebGLSync对象返回参数信息。

变换反馈 WebGL2RenderingContext.createTransformFeedback()(en-US) 创建并初始化WebGLTransformFeedback(en-US)对象。

WebGL2RenderingContext.deleteTransformFeedback()(en-US) 删除一个指定的WebGLTransformFeedback(en-US)对象。

WebGL2RenderingContext.isTransformFeedback()(en-US) ReturnstrueifthepassedobjectisavalidWebGLTransformFeedback(en-US)object. WebGL2RenderingContext.bindTransformFeedback()(en-US) Bindsapassed WebGLTransformFeedback(en-US)objecttothecurrentGLstate. WebGL2RenderingContext.beginTransformFeedback() Startsatransformfeedbackoperation. WebGL2RenderingContext.endTransformFeedback()(en-US) Endsatransformfeedbackoperation. WebGL2RenderingContext.transformFeedbackVaryings()(en-US) SpecifiesvaluestorecordinWebGLTransformFeedback(en-US)buffers. WebGL2RenderingContext.getTransformFeedbackVarying()(en-US) ReturnsinformationaboutvaryingvariablesfromWebGLTransformFeedback(en-US)buffers. WebGL2RenderingContext.pauseTransformFeedback()(en-US) Pausesatransformfeedbackoperation. WebGL2RenderingContext.resumeTransformFeedback()(en-US) Resumesatransformfeedbackoperation. Uniform缓冲对象 WebGL2RenderingContext.bindBufferBase() BindsagivenWebGLBuffertoagivenbindingpoint(target)atagivenindex. WebGL2RenderingContext.bindBufferRange()(en-US) BindsarangeofagivenWebGLBuffertoagivenbindingpoint(target)atagivenindex. WebGL2RenderingContext.getUniformIndices()(en-US) RetrievestheindicesofanumberofuniformswithinaWebGLProgram. WebGL2RenderingContext.getActiveUniforms()(en-US) RetrievesinformationaboutactiveuniformswithinaWebGLProgram. WebGL2RenderingContext.getUniformBlockIndex()(en-US) RetrievestheindexofauniformblockwithinaWebGLProgram. WebGL2RenderingContext.getActiveUniformBlockParameter()(en-US) RetrievesinformationaboutanactiveuniformblockwithinaWebGLProgram. WebGL2RenderingContext.getActiveUniformBlockName()(en-US) RetrievesthenameoftheactiveuniformblockatagivenindexwithinaWebGLProgram. WebGL2RenderingContext.uniformBlockBinding()(en-US) Assignsbindingpointsforactiveuniformblocks. 顶点数组对象MethodsforworkingwithWebGLVertexArrayObject(VAO)objects. WebGL2RenderingContext.createVertexArray() 创建一个新的WebGLVertexArrayObject。

WebGL2RenderingContext.deleteVertexArray()(en-US) 删除一个指定的WebGLVertexArrayObject。

WebGL2RenderingContext.isVertexArray()(en-US) 如果一个指定的 WebGLVertexArrayObject对象有效则返回 true。

WebGL2RenderingContext.bindVertexArray()(en-US) 绑定一个指定的WebGLVertexArrayObject到缓冲。

规范 Specification Status Comment WebGL2.0WebGL2RenderingContext Editor'sDraft Initialdefinition. 浏览器兼容性BCDtablesonlyloadinthebrowser相关链接 HTMLCanvasElement WebGLRenderingContext Foundaproblemwiththispage?EditonGitHubSourceonGitHubReportaproblemwiththiscontentonGitHubWanttofixtheproblemyourself?SeeourContributionguide.Lastmodified:Mar8,2022,byMDNcontributors



請為這篇文章評分?