//-------------------------------------------------------------------------------------- // Entry point to the program. Initializes everything and goes into a message processing // loop. Idle time is used to render the scene. //-------------------------------------------------------------------------------------- int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { UNREFERENCED_PARAMETER( hPrevInstance ); UNREFERENCED_PARAMETER( lpCmdLine ); if( FAILED( InitWindow( hInstance, nCmdShow ) ) ) return 0; if( FAILED( InitDevice() ) ) { CleanupDevice(); return 0; } // Main message loop MSG msg = {0}; while( WM_QUIT != msg.message ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { Render(); } } CleanupDevice(); return ( int )msg.wParam; }
//-------------------------------------------------------------------------------------- // WinMain //-------------------------------------------------------------------------------------- int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { // デバッグ ヒープ マネージャによるメモリ割り当ての追跡方法を設定 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); //Oculus Riftの初期化 if (InitOculusRift() == 1) { CleanupDevice(); return 1; } //ウィンドウの作成 if(!InitWindow( hInstance, nCmdShow ) ) { CleanupDevice(); return 1; } //DirectXの初期化 if(FAILED(InitDevice())) { CleanupDevice(); return 1; } // Oculusで使用するDirectXのオブジェクトを作成する if (FAILED(InitOculusRiftObjects(3U, HMD))) { CleanupDevice(); return 1; } //メッセージループのメイン MSG msg = {0}; while( WM_QUIT != msg.message ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { //ここにメインループを書く Render(); } } //終了処理 CleanupDevice(); return (int) msg.wParam; }
//-------------------------------------------------------------------------------------- // Called every time the application receives a message //-------------------------------------------------------------------------------------- LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { PAINTSTRUCT ps; HDC hdc; switch( message ) { case WM_SYSCOMMAND: if (wParam==SC_SCREENSAVE || wParam==SC_MONITORPOWER) { return 0; } break; case WM_PAINT: hdc = BeginPaint( hWnd, &ps ); EndPaint( hWnd, &ps ); return 0; case WM_DESTROY: PostQuitMessage( 0 ); CleanupDevice(); return 0; } return DefWindowProc( hWnd, message, wParam, lParam ); }
void Quit(LPCTSTR lpText) { MessageBox(g_hWnd, lpText, NULL, MB_OK | MB_ICONERROR); CleanupDevice(); exit(EXIT_FAILURE); }
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { UNREFERENCED_PARAMETER( hPrevInstance ); UNREFERENCED_PARAMETER( lpCmdLine ); #ifdef _WIN64 # define MSBUILD_OPTION "/m /p:Configuration=Release;Platform=x64" # define BUILD_TARGET "x64\\Release" #else // _WIN64 # define MSBUILD_OPTION "/m /p:Configuration=Release;Platform=Win32" # define BUILD_TARGET "Release" #endif // _WIN64 tbb::task_scheduler_init::automatic; //tbb::task_scheduler_init init(1); // for debug if( FAILED( InitWindow( hInstance, nCmdShow ) ) ) return 0; if( FAILED( InitDevice() ) ) { CleanupDevice(); return 0; } InitializeCollisions(); // Main message loop MSG msg = {0}; while( WM_QUIT != msg.message ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { Render(); } } CleanupDevice(); return ( int )msg.wParam; }
bool KCore::GameRelease() { KDxState::Release(); Release(); m_Timer.Release(); I_Input.Release(); m_Font.Release(); CleanupDevice(); return true; }
//-------------------------------------------------------------------------------------- // Точка входа в программу. Инициализация всех объектов и вход в цикл сообщений. // Свободное время используется для отрисовки сцены. //-------------------------------------------------------------------------------------- int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { UNREFERENCED_PARAMETER( hPrevInstance ); UNREFERENCED_PARAMETER( lpCmdLine ); // Создание окна приложения if( FAILED( InitWindow( hInstance, nCmdShow ) ) ) return 0; // Создание объектов DirectX if( FAILED( InitDevice() ) ) { CleanupDevice(); return 0; } // Создание шейдеров и буфера вершин if( FAILED( InitGeometry() ) ) { CleanupDevice(); return 0; } // Главный цикл сообщений MSG msg = {0}; while( WM_QUIT != msg.message ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else // Если сообщений нет { Render(); // Рисуем } } CleanupDevice(); return ( int )msg.wParam; }
//ponto de entrada do programa usando para renderizar int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { UNREFERENCED_PARAMETER( hPrevInstance ); UNREFERENCED_PARAMETER( lpCmdLine ); if( FAILED( InitWindow( hInstance, nCmdShow ) ) ) return 0; if (FAILED(EngineStartup())) { CleanupDevice(); return 0; } //#if DEBUG ACConfigurations::Instance()->ENABLE_LOG = true; //#else // ACConfigurations::Instance()->ENABLE_LOG = false; //#endif // Main message loop MSG msg = {0}; while( WM_QUIT != msg.message ) { if( PeekMessage( &msg, nullptr, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { pGame->Update(); pGame->Draw(); } } CleanupDevice(); return ( int )msg.wParam; }
HRESULT InitDevice(int aDevice) { if (gDevice[aDevice]) { CleanupDevice(aDevice); } gDevice[aDevice] = new CaptureClass; HRESULT hr = gDevice[aDevice]->initCapture(aDevice); if (FAILED(hr)) { delete gDevice[aDevice]; gDevice[aDevice] = 0; } return hr; }
void GraphicsManager::destroy() { CleanupDevice(); // Clean up the DX objects if (pDevice) { pDevice->Release(); pDevice = NULL; } if (pContext) { pContext->Release(); pContext = NULL; } if (pSwapChain) { pSwapChain->Release(); pSwapChain = NULL; } delete pCurrentRenderer; delete pTestShader; delete pTestMesh; }
bool KCore::GameInit() { HRESULT hr; if (FAILED(CreateGIFactory())) { return 0; } if (FAILED(InitDevice())) { CleanupDevice(); return 0; } if (FAILED(InitSwapChain())) { return 0; } if (FAILED(SetRenderTarget())) { return 0; } if (FAILED(SetViewPort())) { return 0; } KDxState::SetState(g_pd3dDevice); m_Timer.Init(); I_Input.Init(); // font IDXGISurface1* pSurface; hr = g_pSwapChain->GetBuffer(0, __uuidof(IDXGISurface1), (LPVOID*)&pSurface); m_Font.Set(pSurface); pSurface->Release(); Init(); return true; }
/************************************************************************* * Main entrypoint for debug build *************************************************************************/ int WINAPI WinMain(HINSTANCE instance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; g_hInstance = GetModuleHandle(0); OutputDebugString("Starting...\n"); if (!WindowOpen()) { OutputDebugString("Failed to open window\n"); WindowClose(); return 0; } if (FAILED(InitDevice())) { CleanupDevice(); return 0; } IntroInit(); InitSound(); while (!g_done) { g_currentFrame++; g_lastTime = g_currentTime; g_currentPos = BASS_ChannelGetPosition(g_stream, BASS_POS_BYTE); g_currentTime = BASS_ChannelBytes2Seconds(g_stream, g_currentPos); if (g_pause) { Sleep(100); } while (PeekMessage(&msg,0,0,0,PM_REMOVE)) { if (msg.message == WM_QUIT) { g_done = true; } TranslateMessage(&msg); DispatchMessage(&msg); if (WM_KEYDOWN == msg.message && VK_SPACE == LOWORD(msg.wParam)) { if (!g_pause) { BASS_ChannelPause(g_stream); g_pause = true; } else { BASS_ChannelPlay(g_stream, false); g_pause = false; } } if (WM_KEYDOWN == msg.message && VK_LEFT == LOWORD(msg.wParam)) { if (g_pause) { BASS_ChannelSetPosition(g_stream, g_currentPos-44100, BASS_POS_BYTE); } else { BASS_ChannelSetPosition(g_stream, g_currentPos-44100*4, BASS_POS_BYTE); } } if (WM_KEYDOWN == msg.message && VK_RIGHT == LOWORD(msg.wParam)) { if (g_pause) { BASS_ChannelSetPosition(g_stream, g_currentPos+44100, BASS_POS_BYTE); } else { BASS_ChannelSetPosition(g_stream, g_currentPos+44100*4, BASS_POS_BYTE); } } if (WM_KEYDOWN == msg.message && VK_DOWN == LOWORD(msg.wParam)) { BASS_ChannelSetPosition(g_stream, g_currentPos-44100*20, BASS_POS_BYTE); } if (WM_KEYDOWN == msg.message && VK_UP == LOWORD(msg.wParam)) { BASS_ChannelSetPosition(g_stream, g_currentPos+44100*20, BASS_POS_BYTE); } if (WM_KEYDOWN == msg.message && VK_F1 == LOWORD(msg.wParam)) { g_repeatStart = g_currentPos; g_repeatEnd = LONG_MAX; } if (WM_KEYDOWN == msg.message && VK_F2 == LOWORD(msg.wParam)) { g_repeatEnd = g_currentPos; } if (WM_KEYDOWN == msg.message && VK_RETURN == LOWORD(msg.wParam)) { g_repeatStart = 0; g_repeatEnd = LONG_MAX; } } IntroLoop((long)(g_currentTime*44100.0)); UpdateTitle(); if (g_currentPos > g_repeatEnd) { BASS_ChannelSetPosition(g_stream, g_repeatStart, BASS_POS_BYTE); } BASS_Update(0); } BASS_StreamFree(g_stream); BASS_Free(); WindowClose(); return 0; }
//-------------------------------------------------------------------------------------- // Entry point to the program. Initializes everything and goes into a message processing // loop. Idle time is used to render the scene. //-------------------------------------------------------------------------------------- int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { UNREFERENCED_PARAMETER( hPrevInstance ); UNREFERENCED_PARAMETER( lpCmdLine ); g_options.bpp = 32; g_options.dWidth = 1280; g_options.dHeight = 1280/16*9; g_options.iWidth = 1280/4*2; g_options.iHeight = 720/4*2; g_options.offsetX = 0; g_options.offsetY = 0; g_options.sWidth = 0; g_options.sHeight = 0; g_options.aspectRatio = 4/3; #ifdef SYNC_PLAYER g_options.fullscreen = true; #else g_options.fullscreen = false; #endif g_options.saveImages = false; g_options.saveFrameRate = 60.0; if( FAILED( InitWindow( hInstance, nCmdShow ) ) ) { Quit("Failed to initialize window"); } #ifdef SYNC_PLAYER InitOptions(); #endif CalculateScreenSize(); SetWindowPos(g_hWnd, NULL, 0, 0, g_options.dWidth, g_options.dHeight, NULL); ShowWindow( g_hWnd, nCmdShow ); if( FAILED( InitDevice() ) ) { Quit("Failed to initialize device"); } BOOL *fullscreen = new BOOL; g_pSwapChain->GetFullscreenState(fullscreen,NULL); while(*fullscreen != g_options.fullscreen) { g_pSwapChain->GetFullscreenState(fullscreen,NULL); Sleep(1000); } #ifdef SYNC_PLAYER ShowCursor(FALSE); #endif InitAudio(); LoadShaders(); DemoInit(); PlayMusic(); // Main message loop MSG msg = {0}; #ifndef SYNC_PLAYER double lastRow = -1; #endif while( true) { if(WM_QUIT == msg.message) break; #ifdef SYNC_PLAYER if(GetAsyncKeyState(VK_ESCAPE)) break; #endif if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { double row = GetAudioRow(); double delta = row - lastRow; if(row > 3504) break; #ifndef SYNC_PLAYER if(row == lastRow) { // Turha syödä kaikki resursseja, jos pause päällä. Sleep(100); } #endif lastRow = row; Render(row, delta); } } CleanupDevice(); return ( int )msg.wParam; }
DirectX9Renderer::~DirectX9Renderer(void) { CleanupDevice(); }
//-------------------------------------------------------------------------------------- // Точка входа в программу. Инициализация всех объектов и вход в цикл сообщений. // Свободное время используется для отрисовки сцены. //-------------------------------------------------------------------------------------- int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // Инициализация игры ConwayGame.Init(GAME_WIDTH, GAME_HEIGHT); ConwayGame.SetTestValues(); // Создание окна приложения if(FAILED(InitWindow(hInstance, nCmdShow))) return 0; // Создание объектов DirectX if(FAILED(InitDevice())) { CleanupDevice(); return 0; } // Создание шейдеров и буфера вершин if(FAILED(LoadShaders())) { CleanupDevice(); return 0; } if(FAILED(InitGeometry())) { CleanupDevice(); return 0; } // Инициализация матриц if(FAILED(InitMatrixes())) { CleanupDevice(); return 0; } // Главный цикл сообщений MSG msg = {0}; while(WM_QUIT != msg.message) { if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } else { if (!(GetTickCount() % 10)) { if(FAILED(InitGeometry())) { CleanupDevice(); return 0; } ConwayGame.Step(); } Render(); } } CleanupDevice(); return (int)msg.wParam; }
void CDX10Core::ResetDevice() { CleanupDevice(); Init( m_hWnd, m_initDesc ); }
CDX10Core::~CDX10Core( void ) { CleanupDevice(); }
DeviceDx11::~DeviceDx11() { CleanupDevice(); }
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: Place code here. //MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_ITERATION12, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (FAILED(InitWindow(hInstance, nCmdShow))) { return FALSE; } if( FAILED( InitDevice() ) ) { CleanupDevice(); return 0; } hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_ITERATION12)); // Start render thread RenderThreadWork worker(pRenderSystem); boost::thread renderThread(worker); // Main message loop MSG msg = {0}; while( WM_QUIT != msg.message ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { DoFrame(); } }/* // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } else { DoFrame(); } }*/ return (int) msg.wParam; }
DxWidget::~DxWidget() { CleanupDevice(); }