{{newin|[[11.0]]|110|type=function}}
Configures depth testing and writing to the depth buffer.

This is low-level functionality designed for use with custom [[love.graphics.newShader|vertex shaders]] and [[Mesh]]es with custom vertex attributes. No higher level APIs are provided to set the depth of 2D graphics such as shapes, lines, and Images.

{{notice|Depth testing and depth writes will have no effect unless the ''depth'' field is set to true in a table passed to [[love.graphics.setCanvas]], or a custom Canvas with a depth [[PixelFormat]] is set in the ''depthstencil'' field in a table passed to [[love.graphics.setCanvas|setCanvas]].}}

{{notice|Writing to the depth buffer is generally incompatible with rendering alpha-blended sprites / images. By default depth is determined by geometry (vertices) instead of texture alpha values, the depth buffer only stores a single depth value per pixel, and alpha blending '''requires''' back-to-front rendering for blending to be correct.}}

== Function ==
=== Synopsis ===
<source lang="lua">
love.graphics.setDepthMode( comparemode, write  )
</source>
=== Arguments ===
{{param|CompareMode|comparemode|Depth comparison mode used for depth testing.}}
{{param|boolean|write|Whether to write update / write values to the depth buffer when rendering.}}
=== Returns ===
Nothing.

== Function ==
Disables depth testing and depth writes.
=== Synopsis ===
<source lang="lua">
love.graphics.setDepthMode( )
</source>
=== Arguments ===
None.
=== Returns ===
Nothing.

== See Also ==
* [[parent::love.graphics]]
* [[love.graphics.getDepthMode]]
* [[love.graphics.setCanvas]]
* [[love.graphics.clear]]
* [[PixelFormat]]
* [[Mesh]]
[[Category:Functions]]
{{#set:Description=Configures depth testing and writing to the depth buffer.}}
{{#set:Sub-Category=State}}

== Other Languages ==
{{i18n|love.graphics.setDepthMode}}