#include "stdafx.h"
#include "Direct3D.h"
#pragma comment(lib, "kernel32.lib")
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")
#pragma comment(lib, "advapi32.lib")
#pragma comment(lib, "d3dx.lib")
#pragma comment(lib, "ole32.lib")
namespace Sunlight
{
namespace DirectX
{
namespace Graphics
{
Direct3D::Direct3D()
{
m_pD3D = Direct3DCreate8(D3D_SDK_VERSION);
if (m_pD3D == NULL)
throw new Sunlight::DirectX::DirectXException(S"::Direct3DCreate8", E_FAIL);
D3DDISPLAYMODE __pin *pd3ddm = &DefaultDisplayMode;
HRESULT h = ((LPDIRECT3D8)m_pD3D)->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, pd3ddm);
if (FAILED(h))
throw new Sunlight::DirectX::DirectXException(S"IDirect3D8::GetAdapterDisplayMode", h);
}
Direct3D::~Direct3D()
{
if (m_pD3D != NULL)
{
((LPDIRECT3D8)m_pD3D)->Release();
m_pD3D = NULL;
}
}
void *Direct3D::GetDirect3D()
{
return m_pD3D;
}
}
}
}