WebGLRenderingContext.stencilFunc() - Web APIs | MDN
文章推薦指數: 80 %
The WebGLRenderingContext.stencilFunc() method of the WebGL API sets the front and back function and reference value for stencil testing. SkiptomaincontentSkiptosearchSkiptoselectlanguageReferencesWebAPIsWebGLRenderingContextWebGLRenderingContext.stencilFunc()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.stencilFunc() TheWebGLRenderingContext.stencilFunc()methodoftheWebGLAPIsetsthefrontandbackfunction andreferencevalueforstenciltesting. Stencilingenablesanddisablesdrawingonaper-pixelbasis.Itistypicallyusedin multipassrenderingtoachievespecialeffects. SyntaxstencilFunc(func,ref,mask) Parameters func AGLenumspecifyingthetestfunction.Thedefaultfunctionis gl.ALWAYS.Thepossiblevaluesare: gl.NEVER:Neverpass. gl.LESS:Passif (ref&mask)(stencil&mask). gl.NOTEQUAL:Passif (ref&mask)!=(stencil&mask). gl.GEQUAL:Passif (ref&mask)>=(stencil&mask). gl.ALWAYS:Alwayspass. ref AGLintspecifyingthereferencevalueforthestenciltest.This valueisclampedtotherange0to2^n-1wherenisthenumberofbitplanes inthestencilbuffer.Thedefaultvalueis0. mask AGLuintspecifyingabit-wisemaskthatisusedtoANDthereference valueandthestoredstencilvaluewhenthetestisdone.Thedefaultvalueisall1. ReturnvalueNone(undefined).Examples Thestenciltestingisdisabledbydefault.Toenableordisablestenciltesting,use theenable()and disable()methodswiththeargument gl.STENCIL_TEST. gl.enable(gl.STENCIL_TEST); gl.stencilFunc(gl.LESS,0,0b1110011); Togetthecurrentstencilfunction,referencevalue,orotherstencilinformation, querythefollowingconstantswithgetParameter(). gl.getParameter(gl.STENCIL_FUNC); gl.getParameter(gl.STENCIL_VALUE_MASK); gl.getParameter(gl.STENCIL_REF); gl.getParameter(gl.STENCIL_BACK_FUNC); gl.getParameter(gl.STENCIL_BACK_VALUE_MASK); gl.getParameter(gl.STENCIL_BACK_REF); gl.getParameter(gl.STENCIL_BITS); SpecificationsSpecificationWebGLSpecification#5.14.3BrowsercompatibilityBCDtablesonlyloadinthebrowserSeealso WebGLRenderingContext.stencilFuncSeparate() WebGLRenderingContext.stencilMask() WebGLRenderingContext.stencilMaskSeparate() WebGLRenderingContext.stencilOp() WebGLRenderingContext.stencilOpSeparate() Foundaproblemwiththispage?EditonGitHubSourceonGitHubReportaproblemwiththiscontentonGitHubWanttofixtheproblemyourself?SeeourContributionguide.Lastmodified:May4,2022,byMDNcontributors
延伸文章資訊
- 1WebGL.Settings.StencilTest - Elm Packages
When you need to draw an intercection of two entities, e.g. a reflection in the mirror, you can t...
- 2WebGLRenderingContext.stencilFunc() - Web APIs | MDN
The WebGLRenderingContext.stencilFunc() method of the WebGL API sets the front and back function ...
- 3How stencil buffer and masking work? - webgl - Stack Overflow
Your program works absolute correctly, but you have to tell the getContext function to create a s...
- 4Stencil buffer doesn't work on WebGL2 - Unity Answers
If you want to use stencil buffer in WebGL use it via render feature and specify masks and events...
- 5WebGLRenderer#stencil – three.js docs
The WebGL renderer displays your beautifully crafted scenes using WebGL. ... stencil - whether th...