WebGLRenderingContext.drawElements() - Web APIs | MDN

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

drawElements() method of the WebGL API renders primitives from array data. Syntax. drawElements(mode, count, type, offset) SkiptomaincontentSkiptosearchSkiptoselectlanguageReferencesWebAPIsWebGLRenderingContextWebGLRenderingContext.drawElements()ArticleActionsEnglish(US)SyntaxExamplesSpecificationsBrowsercompatibilitySeealsoRelatedTopicsWebGLAPIWebGLRenderingContextPropertiescanvasdrawingBufferHeightdrawingBufferWidthMethodsactiveTexture()attachShader()bindAttribLocation()bindBuffer()bindFramebuffer()bindRenderbuffer()bindTexture()blendColor()blendEquation()blendEquationSeparate()blendFunc()blendFuncSeparate()bufferData()bufferSubData()checkFramebufferStatus()clear()clearColor()clearDepth()clearStencil()colorMask() Experimental commit()compileShader()compressedTexImage[23]D()compressedTexSubImage2D()copyTexImage2D()copyTexSubImage2D()createBuffer()createFramebuffer()createProgram()createRenderbuffer()createShader()createTexture()cullFace()deleteBuffer()deleteFramebuffer()deleteProgram()deleteRenderbuffer()deleteShader()deleteTexture()depthFunc()depthMask()depthRange()detachShader()disable()disableVertexAttribArray()drawArrays()drawElements()enable()enableVertexAttribArray()finish()flush()framebufferRenderbuffer()framebufferTexture2D()frontFace()generateMipmap()getActiveAttrib()getActiveUniform()getAttachedShaders()getAttribLocation()getBufferParameter()getContextAttributes()getError()getExtension()getFramebufferAttachmentParameter()getParameter()getProgramInfoLog()getProgramParameter()getRenderbufferParameter()getShaderInfoLog()getShaderParameter()getShaderPrecisionFormat()getShaderSource()getSupportedExtensions()getTexParameter()getUniform()getUniformLocation()getVertexAttrib()getVertexAttribOffset()hint()isBuffer()isContextLost()isEnabled()isFramebuffer()isProgram()isRenderbuffer()isShader()isTexture()lineWidth()linkProgram()makeXRCompatible()pixelStorei()polygonOffset()readPixels()renderbufferStorage()sampleCoverage()scissor()shaderSource()stencilFunc()stencilFuncSeparate()stencilMask()stencilMaskSeparate()stencilOp()stencilOpSeparate()texImage2D()texParameter[fi]()texSubImage2D()uniform[1234][fi][v]()uniformMatrix[234]fv()useProgram()validateProgram()vertexAttrib[1234]f[v]()vertexAttribPointer()viewport()RelatedpagesforWebGLANGLE_instanced_arraysEXT_blend_minmaxEXT_color_buffer_half_floatEXT_disjoint_timer_queryEXT_frag_depthEXT_sRGBEXT_shader_texture_lodEXT_texture_filter_anisotropicOES_element_index_uintOES_standard_derivativesOES_texture_floatOES_texture_float_linearOES_texture_half_floatOES_texture_half_float_linearOES_vertex_array_objectWEBGL_color_buffer_floatWEBGL_compressed_texture_etc1WEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_debug_renderer_infoWEBGL_debug_shadersWEBGL_depth_textureWEBGL_draw_buffersWEBGL_lose_contextWebGL2RenderingContextWebGLActiveInfoWebGLBufferWebGLContextEventWebGLFramebufferWebGLObjectWebGLProgramWebGLQueryWebGLRenderbufferWebGLSamplerWebGLShaderWebGLShaderPrecisionFormatWebGLSyncWebGLTextureWebGLTransformFeedbackWebGLUniformLocationWebGLVertexArrayObjectSyntaxExamplesSpecificationsBrowsercompatibilitySeealsoWebGLRenderingContext.drawElements()TheWebGLRenderingContext.drawElements()methodoftheWebGLAPIrendersprimitivesfromarraydata.SyntaxdrawElements(mode,count,type,offset) Parameters mode AGLenumspecifyingthetypeprimitivetorender.Possiblevalues are: gl.POINTS:Drawsasingledot. gl.LINE_STRIP:Drawsastraightlinetothenextvertex. gl.LINE_LOOP:Drawsastraightlinetothenextvertex,and connectsthelastvertexbacktothefirst. gl.LINES:Drawsalinebetweenapairofvertices. gl.TRIANGLE_STRIP gl.TRIANGLE_FAN gl.TRIANGLES:Drawsatriangleforagroupofthreevertices. count AGLsizeispecifyingthenumberofelementsoftheboundelementarray buffertoberendered.Forexample,todrawawireframetrianglewithgl.LINES thecountshouldbe2endpointsperline×3lines=6elements.Howevertodrawthe samewireframetrianglewithgl.LINE_STRIPtheelementarraybufferdoesnot repeattheindicesfortheendofthefirstline/startofthesecondline,andendofthe secondline/startofthethirdline,socountwillbefour.Todrawthesame trianglewithgl.LINE_LOOPtheelementarraybufferdoesnotrepeatthe first/lastvertexeithersocountwillbethree. type AGLenumspecifyingthetypeofthevaluesintheelementarray buffer.Possiblevaluesare: gl.UNSIGNED_BYTE gl.UNSIGNED_SHORT WhenusingtheOES_element_index_uintextension: gl.UNSIGNED_INT offset AGLintptrspecifyingabyteoffsetintheelementarraybuffer.Must beavalidmultipleofthesizeofthegiventype. ReturnvalueNone(undefined).Exceptions Ifmodeisnotoneoftheacceptedvalues,a gl.INVALID_ENUMerroristhrown. Ifoffsetisnotavalidmultipleofthesizeofthegiventype,a gl.INVALID_OPERATIONerroristhrown. Ifcountisnegative,agl.INVALID_VALUEerroristhrown. Examplesgl.drawElements(gl.POINTS,8,gl.UNSIGNED_BYTE,0); SpecificationsSpecificationWebGLSpecification#5.14.11BrowsercompatibilityBCDtablesonlyloadinthebrowserSeealso WebGLRenderingContext.drawArrays() OES_element_index_uint WEBGL_multi_draw.multiDrawElementsWEBGL() Foundaproblemwiththispage?EditonGitHubSourceonGitHubReportaproblemwiththiscontentonGitHubWanttofixtheproblemyourself?SeeourContributionguide.Lastmodified:Jun3,2022,byMDNcontributors



請為這篇文章評分?