D3DMULTISAMPLE_TYPE enumeration

Defines the levels of full-scene multisampling that the device can apply.

Syntax

typedef enum D3DMULTISAMPLE_TYPE { 
  D3DMULTISAMPLE_NONE          = 0,
  D3DMULTISAMPLE_NONMASKABLE   = 1,
  D3DMULTISAMPLE_2_SAMPLES     = 2,
  D3DMULTISAMPLE_3_SAMPLES     = 3,
  D3DMULTISAMPLE_4_SAMPLES     = 4,
  D3DMULTISAMPLE_5_SAMPLES     = 5,
  D3DMULTISAMPLE_6_SAMPLES     = 6,
  D3DMULTISAMPLE_7_SAMPLES     = 7,
  D3DMULTISAMPLE_8_SAMPLES     = 8,
  D3DMULTISAMPLE_9_SAMPLES     = 9,
  D3DMULTISAMPLE_10_SAMPLES    = 10,
  D3DMULTISAMPLE_11_SAMPLES    = 11,
  D3DMULTISAMPLE_12_SAMPLES    = 12,
  D3DMULTISAMPLE_13_SAMPLES    = 13,
  D3DMULTISAMPLE_14_SAMPLES    = 14,
  D3DMULTISAMPLE_15_SAMPLES    = 15,
  D3DMULTISAMPLE_16_SAMPLES    = 16,
  D3DMULTISAMPLE_FORCE_DWORD   = 0xffffffff
} D3DMULTISAMPLE_TYPE, *LPD3DMULTISAMPLE_TYPE;

Constants

D3DMULTISAMPLE_NONE

No level of full-scene multisampling is available.

D3DMULTISAMPLE_NONMASKABLE

Enables the multisample quality value. See Remarks.

D3DMULTISAMPLE_2_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_3_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_4_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_5_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_6_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_7_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_8_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_9_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_10_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_11_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_12_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_13_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_14_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_15_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_16_SAMPLES

Level of full-scene multisampling available.

D3DMULTISAMPLE_FORCE_DWORD

Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.

Remarks

In addition to enabling full-scene multisampling at IDirect3DDevice9::Reset time, there will be render states that turn various aspects on and off at fine-grained levels.

Multisampling is valid only on a swap chain that is being created or reset with the D3DSWAPEFFECT_DISCARD swap effect.

The multisample antialiasing value can be set with the parameters (or sub-parameters) in the following methods.

Method Parameters Sub-parameters
IDirect3D9::CheckDeviceMultiSampleType MultiSampleType and pQualityLevels
IDirect3D9::CreateDevice pPresentationParameters MultiSampleType and pQualityLevels
IDirect3DDevice9::CreateAdditionalSwapChain pPresentationParameters MultiSampleType and pQualityLevels
IDirect3DDevice9::CreateDepthStencilSurface MultiSampleType and pQualityLevels
IDirect3DDevice9::CreateRenderTarget MultiSampleType and pQualityLevels
IDirect3DDevice9::Reset pPresentationParameters MultiSampleType and pQualityLevels

 

It is not good practice to switch from one multisample type to another to raise the quality of the antialiasing.

D3DMULTISAMPLE_NONE enables swap effects other than discarding, locking, and so on.

Whether the display device supports maskable multisampling (more than one sample for a multiple-sample render-target format plus antialias support) or just non-maskable multisampling (only antialias support), the driver for the device provides the number of quality levels for the D3DMULTISAMPLE_NONMASKABLE multiple-sample type. Applications that just use multisampling for antialiasing purposes only need to query for the number of non-maskable multiple-sample quality levels that the driver supports.

The quality levels supported by the device can be obtained with the pQualityLevels parameter of IDirect3D9::CheckDeviceMultiSampleType. Quality levels used by the application are set with the MultiSampleQuality parameter of IDirect3DDevice9::CreateDepthStencilSurface and IDirect3DDevice9::CreateRenderTarget.

See D3DRS_MULTISAMPLEMASK for discussion of maskable multisampling.

Requirements

Requirement Value
Header
D3D9Types.h

See also

Direct3D Enumerations

D3DPRESENT_PARAMETERS

D3DSURFACE_DESC