Hiya,
DirectX 9 provides some commands for this, we just need access to them with C-Script.
Code:
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;
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 multisampling antialiasing value can be set with the parameters (or sub-parameters) in the following methods.
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.
Can check what levels the card supports with:
IDirect3D9::CheckDeviceMultiSampleType.
Should be quite easy for Conitec to add.