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 |
|
See also