Exemplo n.º 1
0
void Application::Initialize(char* win_title, RECT win_rect, bool win_fullscreen, HINSTANCE hInst, int cmdShow)
{
	//	引数をメンバー変数に保存する
	Application::win_title = win_title;
	Application::win_rect = win_rect;
	Application::win_fullscreen = win_fullscreen;

	//ウィンドウの初期化
	if (!InitWindow(hInst, cmdShow))
		DebugAlert("ウィンドウを\nしょきかできませんでした");

	//Direct3Dの初期化
	if (!InitDirect3d())
		DebugAlert("Direct3Dを\n初期化できませんでした。");

	//プレゼンテーションパラメータの初期化
	if (!InitPresentParam())
		DebugAlert("プレゼンテーションパラメータを\n初期化できませんでした。");

	//Direct3Dデバイスの初期化
	if (!InitD3dDevice())
		DebugAlert("Direct3Dデバイスを\n初期化できませんでした。");

	//DirectInputの初期化
	if (!InitDirectInput(hInst))
		DebugAlert("DirectInputを\n初期化できませんでした。");

	//DirectInputデバイスの初期化
	if (!InitDinputDevice())
		DebugAlert("DirectInputデバイスを\n初期化できませんでした。");

	DebugLog("アプリケーションを初期化しました。\n");
}
Exemplo n.º 2
0
bool CDirect3D::onInit()
{
	HWND hWnd = CWindow::getInstance()->getHWND();
	long lWindowWidth = CWindow::getInstance()->getWinWidth();
	long lWindowHeight =CWindow::getInstance()->getWinHeight();
	HRESULT hr;
	m_pDirect3D9 = Direct3DCreate9(D3D_SDK_VERSION);
	if (NULL == m_pDirect3D9)
		return false;

	// D3D检测
	D3DCAPS9 caps;
	m_pDirect3D9->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);

	// 判断当前显卡是否支持硬件顶点处理
	int vp = 0;
	if(caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)
		vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
	else
		vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;

	// 初始化相关参数
	InitPresentParam(hWnd, lWindowWidth, lWindowHeight);

	hr = m_pDirect3D9->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, vp, &m_D3DPresentParam, &m_pD3D9Device);
	if (FAILED(hr))
		return false;

	hr = D3DXCreateFont(m_pD3D9Device, 20, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
		DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("微软雅黑"), &m_pFont);
	if (FAILED(hr)) {
		hr = D3DXCreateFont(m_pD3D9Device, 20, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
			DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("宋体"), &m_pFont);
		if (FAILED(hr))
			return false;
	}

	// 初始化渲染状态
	InitDefaultRenderState();
	return true;
}