OcclusionQuery.PixelCount Property

Gets the number of visible pixels.

Namespace: Microsoft.Xna.Framework.Graphics
Assembly: Microsoft.Xna.Framework.Graphics (in microsoft.xna.framework.graphics.dll)

public int PixelCount { get; }

Property Value

Number of visible pixels. Zero indicates full occlusion, which means the pixels are not visible from the current camera position.

Exception typeCondition
InvalidOperationException The query data is not yet available. Use the IsComplete property to determine if the data is available before attempting to retrieve it.

The number of non-occluded pixels (indicated by PixelCount) can differ based on the platform.

For Xbox 360 games, PixelCount represents the number of pixels modified by drawing. This includes GraphicsDevice.Clear calls and any drawing associated with sprite batches.

For Windows games, PixelCount represents the number of pixels that passed the depth and stencil tests. This does not include sprite batch drawing (because the depth test is turned off) or calls to GraphicsDevice.Clear.

To achieve consistent results across all platforms, use occlusion queries only when the depth buffer is enabled. In addition, avoid calling Clear or changing the assigned render target inside an occlusion query begin/end block.

Xbox 360, Windows 7, Windows Vista, Windows XP, Windows Phone 7

Community Additions