ILibKD3D インターフェイスの利用する例を示します.
まずは,ILibKD3D と ILibKD3DDevice インターフェイスの宣言をします.
LPLIBKD3D g_p3D = NULL;
LPLIBKD3DDEVICE g_p3DDevice = NULL;
次に ILibKD3D インターフェイスを,関数"LibKD3DCreate"を利用して作成します.
g_p3D = LibKD3DCreate( LKD3D_SDK_VERSION );
ここで,CreateDevice に先立って情報を設定します.
_HWND g_hWnd;
g_hWnd.m_inter = PS2_GS_NOINTERLACE;
g_hWnd.m_out_mode = PS2_GS_VESA;
g_hWnd.m_ff_mode = PS2_GS_FRAME;
g_hWnd.m_resolution = PS2_GS_640x480;
g_hWnd.m_refresh_rate = PS2_GS_60Hz;
g_hWnd.m_psm = PS2_GS_PSMCT32;
g_hWnd.m_zpsm = PS2_GS_PSMZ24;
g_hWnd.m_zbits = 24;
次にインターフェイスを利用して,ILibKD3DDevice インターフェイスを生成します.また,失敗することも考慮して以下のように初期化を行います.
if( FAILED( ILibKD3D_CreateDevice( g_p3D, D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL, &g_hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING,
NULL, &g_p3DDevice )) )
{
exit(-1);
}
最後に使い終わった ILibKD3D インターフェイスを,関数"ILibKD3D_Release"を利用して開放します.
ILibKD3D_Release( g_p3D );