//-------------------------------------------------------------------------------------- // 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*/) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif // Set DXUT callbacks DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackKeyboard(OnKeyboard); DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackD3D11DeviceAcceptable(IsD3D11DeviceAcceptable); DXUTSetCallbackD3D11DeviceCreated(OnD3D11CreateDevice); DXUTSetCallbackD3D11SwapChainResized(OnD3D11ResizedSwapChain); DXUTSetCallbackD3D11FrameRender(OnD3D11FrameRender); DXUTSetCallbackD3D11SwapChainReleasing(OnD3D11ReleasingSwapChain); DXUTSetCallbackD3D11DeviceDestroyed(OnD3D11DestroyDevice); InitApp(); DXUTInit(true, true, NULL); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings(true, true); // Show the cursor and clip it when in full screen DXUTCreateWindow(L"CascadedShadowDepthMap"); CWaitDlg CompilingShadersDlg; if (DXUT_EnsureD3D11APIs()) CompilingShadersDlg.ShowDialog(L"Compiling Shaders and loading models."); DXUTCreateDevice(D3D_FEATURE_LEVEL_10_0, true, 800, 600); CompilingShadersDlg.DestroyDialog(); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
INT WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int ) { d3d_engine = new D3DEngine(); // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackD3D10DeviceAcceptable( IsD3D10DeviceAcceptable ); DXUTSetCallbackD3D10DeviceCreated( OnD3D10CreateDevice ); DXUTSetCallbackD3D10SwapChainResized( OnD3D10ResizedSwapChain ); DXUTSetCallbackD3D10SwapChainReleasing( OnD3D10ReleasingSwapChain ); DXUTSetCallbackD3D10DeviceDestroyed( OnD3D10DestroyDevice ); DXUTSetCallbackD3D10FrameRender( OnD3D10FrameRender ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTInit(true, true, NULL); // DXUTを初期化(詳しくはMSDN) DXUTSetCursorSettings(true, true); // カーソルを表示し、全画面の時には、領域からはみ出ないようにします DXUTCreateWindow(kWindowTitle); DXUTCreateDevice(true, kWindowWidth, kWindowHeight); DXUTMainLoop(); // DXUTのレンダリングループを開始 return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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 ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // _crtBreakAlloc = 862; // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackD3D9DeviceAcceptable( IsD3D9DeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnD3D9CreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnD3D9ResetDevice ); DXUTSetCallbackD3D9DeviceLost( OnD3D9LostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnD3D9DestroyDevice ); DXUTSetCallbackD3D9FrameRender( OnD3D9FrameRender ); InitApp(); DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); DXUTCreateWindow( L"SimpleSample" ); DXUTCreateDevice( true, g_nWinSizeX, g_nWinSizeY); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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, LPWSTR, int ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackD3D9DeviceAcceptable( IsDeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnResetDevice ); DXUTSetCallbackD3D9FrameRender( OnFrameRender ); DXUTSetCallbackD3D9DeviceLost( OnLostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnDestroyDevice ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCursorSettings( true, true ); InitApp(); DXUTInit( true, true ); // Parse the command line and show msgboxes DXUTSetHotkeyHandling( true, true, true ); DXUTCreateWindow( L"CompiledEffect" ); DXUTCreateDevice( true, 640, 480 ); DXUTMainLoop(); return DXUTGetExitCode(); }
INT WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int) { DXUTSetCallbackD3D9DeviceAcceptable(IsDeviceAcceptable); DXUTSetCallbackD3D9DeviceCreated(OnCreateDevice); DXUTSetCallbackD3D9FrameRender(OnFrameRender); DXUTSetCallbackD3D9DeviceReset(OnResetDevice); DXUTSetCallbackD3D9DeviceLost(OnLostDevice); DXUTSetCallbackD3D9DeviceDestroyed(OnDestroyDevice); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackKeyboard(KeyboardProc); DXUTSetCallbackMouse(MouseProc, true); DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCursorSettings(true, true); InitApp(); DXUTInit(); DXUTSetHotkeyHandling(); DXUTCreateWindow(L"NsRenju by Ivan Goremykin"); DXUTCreateDevice(true, 1024, 768); DXUTMainLoop(); return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Entry point to the program. Initializes everything and goes into a message processing // loop. Idle time is used to render the scene. //-------------------------------------------------------------------------------------- INT WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackD3D10DeviceAcceptable( IsD3D10DeviceAcceptable ); DXUTSetCallbackD3D10DeviceCreated( OnD3D10CreateDevice ); DXUTSetCallbackD3D10SwapChainResized( OnD3D10SwapChainResized ); DXUTSetCallbackD3D10SwapChainReleasing( OnD3D10ReleasingSwapChain ); DXUTSetCallbackD3D10DeviceDestroyed( OnD3D10DestroyDevice ); DXUTSetCallbackD3D10FrameRender( OnD3D10FrameRender ); InitApp(); DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"D3D10 Shader Model 4.0 Workshop: Exercise03" ); DXUTCreateDevice( true, 800, 600 ); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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 ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // Disable gamma correction on this sample DXUTSetIsInGammaCorrectMode( false ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackMouse( MouseProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackD3D11DeviceAcceptable( IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11FrameRender( OnD3D11FrameRender ); DXUTSetCallbackD3D11SwapChainReleasing( OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( OnD3D11DestroyDevice ); InitApp(); DXUTInit( true, true ); DXUTSetCursorSettings( true, true );// Show the cursor and clip when in full screen DXUTCreateWindow( L"Contact Hardening Shadows - Direct3D 11" ); DXUTCreateDevice( D3D_FEATURE_LEVEL_11_0, true, 800, 600 ); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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*/) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif // Disable gamma correction on this sample DXUTSetIsInGammaCorrectMode(false); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackD3D11DeviceAcceptable(IsD3D11DeviceAcceptable); DXUTSetCallbackD3D11DeviceCreated(OnD3D11CreateDevice); DXUTSetCallbackD3D11SwapChainResized(OnD3D11ResizedSwapChain); DXUTSetCallbackD3D11FrameRender(OnD3D11FrameRender); DXUTSetCallbackD3D11SwapChainReleasing(OnD3D11ReleasingSwapChain); DXUTSetCallbackD3D11DeviceDestroyed(OnD3D11DestroyDevice); InitApp(); // Force create a ref device so that feature level D3D_FEATURE_LEVEL_11_0 is guaranteed DXUTInit(true, true, NULL); // Parse the command line, show msgboxes on error DXUTSetCursorSettings(true, true); // Show the cursor and clip it when in full screen DXUTCreateWindow(L"OIT11"); DXUTCreateDevice(D3D_FEATURE_LEVEL_11_0, true, g_nFrameWidth, g_nFrameHeight); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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 ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D11) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackD3D11DeviceAcceptable( IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11FrameRender( OnD3D11FrameRender ); DXUTSetCallbackD3D11SwapChainReleasing( OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( OnD3D11DestroyDevice ); InitApp(); DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"BasicHLSL11" ); DXUTCreateDevice (D3D_FEATURE_LEVEL_11_0, true, 800, 600 ); //DXUTCreateDevice(true, 640, 480); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Initialize everything and go into a render loop //-------------------------------------------------------------------------------------- INT WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif DXUTCreateState(); // onexit(DeleteDXUTState); DXUTSetCallbackMsgProc(MsgProc); // DXUTSetCallbackKeyboard(OnKeyboard); DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); // DXUTSetCallbackShutdown(ExitApp); // Set the callback functions DXUTSetCallbackD3D9DeviceAcceptable(IsDeviceAcceptable); DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnResetDevice ); DXUTSetCallbackD3D9DeviceLost( OnLostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnDestroyDevice ); DXUTSetCallbackD3D9FrameRender( OnFrameRender ); // TODO: Perform any application-level initialization here WCHAR buffer[MAX_PATH]; GetCurrentDirectory(MAX_PATH, buffer); SetCurrentDirectory(L"Resources\\map0\\"); GetCurrentDirectory(MAX_PATH, buffer); g_pTerrain = TerrainPager::Create("major", 272); // 272 = 16 * 16 + 16 g_pDFRWindow = new DoubleFrustumRectangle(*g_pTerrain); // Initialize DXUT and create the desired Win32 window and Direct3D device for the application DXUTInit( true, true, nullptr ); // Parse the command line, handle the default hotkeys, and show msgboxes DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"TerrainPaging" ); DXUTCreateDevice( true, 640, 480 ); // Start the render loop DXUTMainLoop(); int exit_code = DXUTGetExitCode(); DXUTDestroyState(); // TODO: Perform any application-level cleanup here if(NULL != g_pDFRWindow) { delete g_pDFRWindow; g_pDFRWindow = NULL; } if(NULL != g_pTerrain) { delete g_pTerrain; g_pTerrain = NULL; } return exit_code; }
//-------------------------------------------------------------------------------------- // 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 ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackD3D11DeviceAcceptable( IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11FrameRender( OnD3D11FrameRender ); DXUTSetCallbackD3D11SwapChainReleasing( OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( OnD3D11DestroyDevice ); InitApp(); DXUTInit( true, true ); // Use this line instead to try to create a hardware device DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"AdaptiveTessellationCS40" ); DXUTCreateDevice(D3D_FEATURE_LEVEL_10_0, true, 1024, 768 ); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Initialize everything and go into a render loop //-------------------------------------------------------------------------------------- INT WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // Set the callback functions DXUTSetCallbackD3D9DeviceAcceptable( IsD3D9DeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnD3D9CreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnD3D9ResetDevice ); DXUTSetCallbackD3D9FrameRender( OnD3D9FrameRender ); DXUTSetCallbackD3D9DeviceLost( OnD3D9LostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnD3D9DestroyDevice ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackFrameMove( OnFrameMove ); // TODO: Perform any application-level initialization here // Initialize DXUT and create the desired Win32 window and Direct3D device for the application DXUTInit( true, true ); // Parse the command line and show msgboxes DXUTSetHotkeyHandling( true, true, true ); // handle the default hotkeys DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"Game" ); DXUTCreateDevice( true, 800, 600 ); // Start the render loop DXUTMainLoop(); // TODO: Perform any application-level cleanup here return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Initialize everything and go into a render loop //-------------------------------------------------------------------------------------- INT WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR lpCmdLine, int nShowCmd) { wchar_t executableFullPath[MAX_PATH]; GetModuleFileName( NULL, executableFullPath, MAX_PATH ); wchar_t executableDrive[MAX_PATH]; wchar_t executableDir[MAX_PATH]; _wsplitpath_s(executableFullPath, executableDrive, MAX_PATH, executableDir, MAX_PATH, 0, 0, 0, 0); wchar_t currentDir[MAX_PATH] = { L'\0' }; wcscat_s(currentDir, executableDrive); wcscat_s(currentDir, executableDir); wcscat_s(currentDir, L"..\\"); BOOL result = SetCurrentDirectory(currentDir); ASSERT(result != FALSE, "Can't change current directory."); // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // Set the callback functions DXUTSetCallbackD3D9DeviceAcceptable( IsD3D9DeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnD3D9CreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnD3D9ResetDevice ); DXUTSetCallbackD3D9FrameRender( OnD3D9FrameRender ); DXUTSetCallbackD3D9DeviceLost( OnD3D9LostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnD3D9DestroyDevice ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackFrameMove( OnFrameMove ); // Initialize DXUT and create the desired Win32 window and Direct3D device for the application // Parse the command line and show msgboxes DXUTInit( true, true ); // Handle the default hotkeys DXUTSetHotkeyHandling( true, true, true ); // Show the cursor and clip it when in full screen DXUTSetCursorSettings( true, true ); DXUTCreateWindow(L"GPU Pro 5 : 'Quaternions revisited'"); DXUTCreateDevice(true, 1280, 720); // Start the render loop DXUTMainLoop(); return DXUTGetExitCode(); }
INT WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int ) { HRESULT hr = S_OK; #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif DXUTSetCallbackD3D9DeviceAcceptable( IsDeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice ); DXUTSetCallbackD3D9FrameRender( OnFrameRender ); DXUTSetCallbackD3D9DeviceReset( OnResetDevice ); DXUTSetCallbackD3D9DeviceLost( OnLostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnDestroyDevice ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCursorSettings( false, true ); DXUTInit( true, true ); DXUTSetHotkeyHandling( false, false, false ); InitApp(); hr = PrepareAudio(); if( FAILED( hr ) ) { OutputDebugString( L"PrepareAudio() failed. Disabling audio support\n" ); } DXUTCreateWindow( L"Buser Stima" ); DXUTCreateDevice( false, 0, 0 ); DXUTMainLoop(); CleanupAudio(); return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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, LPWSTR, int ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // Set the callback functions. These functions allow DXUT to notify // the application about device changes, user input, and windows messages. The // callbacks are optional so you need only set callbacks for events you're interested // in. However, if you don't handle the device reset/lost callbacks then the sample // framework won't be able to reset your device since the application must first // release all device resources before resetting. Likewise, if you don't handle the // device created/destroyed callbacks then DXUT won't be able to // recreate your device resources. DXUTSetCallbackD3D9DeviceAcceptable( IsDeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnResetDevice ); DXUTSetCallbackD3D9FrameRender( OnFrameRender ); DXUTSetCallbackD3D9DeviceLost( OnLostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnDestroyDevice ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); // Show the cursor and clip it when in full screen DXUTSetCursorSettings( true, true ); InitApp(); // Initialize DXUT and create the desired Win32 window and Direct3D // device for the application. Calling each of these functions is optional, but they // allow you to set several options which control the behavior of the framework. DXUTInit( true, true ); // Parse the command line and show msgboxes DXUTSetHotkeyHandling( true, true, true ); // handle the defaul hotkeys DXUTCreateWindow( L"LocalDeformablePRT" ); DXUTCreateDevice( true, 800, 600 ); // Pass control to DXUT for handling the message pump and // dispatching render calls. DXUT will call your FrameMove // and FrameRender callback when there is idle time between handling window messages. DXUTMainLoop(); // Perform any application-level cleanup here. Direct3D device resources are released within the // appropriate callback functions and therefore don't require any cleanup code here. return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Initialize everything and go into a render loop //-------------------------------------------------------------------------------------- int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D11) // that is available on the system depending on which D3D callbacks are set below // Set general DXUT callbacks DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackMouse( OnMouse ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackDeviceRemoved( OnDeviceRemoved ); // Set the D3D9 DXUT callbacks. Remove these sets if the app doesn't need to support D3D9 DXUTSetCallbackD3D9DeviceAcceptable( IsD3D9DeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnD3D9CreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnD3D9ResetDevice ); DXUTSetCallbackD3D9FrameRender( OnD3D9FrameRender ); DXUTSetCallbackD3D9DeviceLost( OnD3D9LostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnD3D9DestroyDevice ); // Set the D3D11 DXUT callbacks. Remove these sets if the app doesn't need to support D3D11 DXUTSetCallbackD3D11DeviceAcceptable( IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11FrameRender( OnD3D11FrameRender ); DXUTSetCallbackD3D11SwapChainReleasing( OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( OnD3D11DestroyDevice ); // Perform any application-level initialization here DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"Awe Engine" ); // Only require 10-level hardware DXUTCreateDevice( D3D_FEATURE_LEVEL_10_0, true, 640, 480 ); DXUTMainLoop(); // Enter into the DXUT ren der loop // Perform any application-level cleanup here return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Initialize everything and go into a render loop //-------------------------------------------------------------------------------------- int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below // Set general DXUT callbacks DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackMouse( OnMouse ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackDeviceRemoved( OnDeviceRemoved ); // Set the D3D9 DXUT callbacks. Remove these sets if the app doesn't need to support D3D9 DXUTSetCallbackD3D9DeviceAcceptable( IsD3D9DeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnD3D9CreateDevice ); DXUTSetCallbackD3D9DeviceReset( OnD3D9ResetDevice ); DXUTSetCallbackD3D9FrameRender( OnD3D9FrameRender ); DXUTSetCallbackD3D9DeviceLost( OnD3D9LostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnD3D9DestroyDevice ); // Perform any application-level initialization here // Setup Video VideoSetup setup(1024,720); setup.isWindowed = true; // Rename Game Title g_strGameTitle = L"MyGame"; DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen //HICON hIcon = (HICON)LoadImage(NULL, L"..\..\resources\WindowIcon.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE); DXUTCreateWindow(g_strGameTitle); DXUTCreateDevice(setup.isWindowed, setup.height, setup.witdh); DXUTMainLoop(); // Enter into the DXUT render loop // Perform any application-level cleanup here return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // 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 ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D11) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackMouse( OnMouse, true ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackD3D11DeviceAcceptable( IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11SwapChainReleasing( OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( OnD3D11DestroyDevice ); DXUTSetCallbackD3D11FrameRender( OnD3D11FrameRender ); InitApp(); DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); WCHAR strWindowTitle[128] = L"TiledResources11"; #ifdef _DEBUG wcscat_s( strWindowTitle, L" [DEBUG]" ); #endif DXUTCreateWindow( strWindowTitle ); // set the update & render thread to the first hardware thread SetThreadAffinityMask( GetCurrentThread(), 0x1 ); // Only require 10-level hardware, change to D3D_FEATURE_LEVEL_11_0 to require 11-class hardware // Switch to D3D_FEATURE_LEVEL_9_x for 10level9 hardware DXUTCreateDevice( D3D_FEATURE_LEVEL_10_0, true, 1280, 720 ); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
//-------------------------------------------------------------------------------------- // Initialize everything and go into a render loop //-------------------------------------------------------------------------------------- int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { HRESULT hr; V_RETURN(DXUTSetMediaSearchPath(MEDIA_PATH)); // Enable run-time memory check for debug builds. #if defined(DEBUG) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif // Set general DXUT callbacks DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackKeyboard(OnKeyboard); DXUTSetCallbackMouse(OnMouse); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackDeviceRemoved(OnDeviceRemoved); // Set the D3D11 DXUT callbacks DXUTSetCallbackD3D11DeviceAcceptable (IsD3D11DeviceAcceptable); DXUTSetCallbackD3D11DeviceCreated (OnD3D11CreateDevice); DXUTSetCallbackD3D11SwapChainResized (OnD3D11ResizedSwapChain); DXUTSetCallbackD3D11FrameRender (OnD3D11FrameRender); DXUTSetCallbackD3D11SwapChainReleasing(OnD3D11ReleasingSwapChain); DXUTSetCallbackD3D11DeviceDestroyed (OnD3D11DestroyDevice); // Perform any application-level initialization here InitAOParams(g_AOParams); InitGUI(); UINT Width = 1920; UINT Height = 1200; DXUTInit(true, true, NULL); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings(true, true); // Show the cursor and clip it when in full screen DXUTSetIsInGammaCorrectMode(false); // Do not use a SRGB back buffer for this sample DXUTCreateWindow(L"Deinterleaved Texturing"); DXUTCreateDevice(D3D_FEATURE_LEVEL_11_0, true, Width, Height); //DXUTToggleFullScreen(); DXUTMainLoop(); // Enter into the DXUT render loop // Perform any application-level cleanup here return DXUTGetExitCode(); }
RenderWin32DX9Imp::RenderWin32DX9Imp() : bBackbufferLockable_( false ) , bufferFactory_( RenderBufferFactoryDX9Ptr( new RenderBufferFactoryDX9Null() ) ) , renderState_( RenderStatePtr( new RenderStateNull() ) ) { eventListener_ = &nullEventListener_; DXUTInit( false, false, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); DXUTSetCallbackD3D9DeviceAcceptable( &RenderWin32DX9Imp::IsD3D9DeviceAcceptable, this ); DXUTSetCallbackDeviceChanging( &RenderWin32DX9Imp::ModifyDeviceSettings, this ); //DXUTSetCallbackMsgProc( ApplicationWin32Imp::MsgProc ); DXUTSetCallbackD3D9DeviceCreated( &RenderWin32DX9Imp::s_init, this ); DXUTSetCallbackD3D9DeviceReset( &RenderWin32DX9Imp::s_displayReset, this ); DXUTSetCallbackD3D9FrameRender( &RenderWin32DX9Imp::s_display, this ); DXUTSetCallbackD3D9DeviceLost( &RenderWin32DX9Imp::s_displayLost, this ); DXUTSetCallbackD3D9DeviceDestroyed( &RenderWin32DX9Imp::s_destroy, this ); }
//-------------------------------------------------------------------------------------- // 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 ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below //------------------------------------------------------------------------- //Initialize test command window //------------------------------------------------------------------------- RedirectIOToConsole(L"output window"); // DXUT will create and use the best device (either D3D9 or D3D10) // that is available on the system depending on which D3D callbacks are set below // Set DXUT callbacks DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackD3D10DeviceAcceptable( IsD3D10DeviceAcceptable ); DXUTSetCallbackD3D10DeviceCreated( OnD3D10CreateDevice ); DXUTSetCallbackD3D10SwapChainResized( OnD3D10SwapChainResized ); DXUTSetCallbackD3D10FrameRender( OnD3D10FrameRender ); DXUTSetCallbackD3D10SwapChainReleasing( OnD3D10SwapChainReleasing ); DXUTSetCallbackD3D10DeviceDestroyed( OnD3D10DestroyDevice ); HRESULT hr; V_RETURN(DXUTSetMediaSearchPath(L"..\\Source\\SoftShadows")); InitApp(); DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"SoftShadows" ); DXUTCreateDevice( true, 1024, 768 ); DXUTMainLoop(); // Enter into the DXUT render loop return DXUTGetExitCode(); }
HRESULT R3D3D::Init( bool isWindows, int width, int height ) { DXUTSetCallbackD3D9DeviceAcceptable( IsDeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice ); DXUTSetCallbackD3D9FrameRender( OnFrameRender ); DXUTSetCallbackD3D9DeviceReset( OnResetDevice ); DXUTSetCallbackD3D9DeviceLost( OnLostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( OnDestroyDevice ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTInit( true, true ); // Parse the command line, handle the default hotkeys, and show msgboxes DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen DXUTCreateWindow( L"EmptyProject" ); DXUTCreateDevice( isWindows, width, height ); // Start the render loop DXUTMainLoop(); return DXUTGetExitCode(); }
void CDirect3DView::OnInitialUpdate() { __super::OnInitialUpdate(); if (DXUTGetD3D11Device() != NULL) { return; } DXUTSetIsInGammaCorrectMode(false); // Set general DXUT callbacks DXUTSetCallbackFrameMove( OnDXUTFrameMove, this ); DXUTSetCallbackKeyboard( OnDXUTKeyboard, this ); DXUTSetCallbackMouse( OnDXUTMouse, true, this ); DXUTSetCallbackMsgProc( DXUTMsgProc, this ); DXUTSetCallbackDeviceChanging( DXUTModifyDeviceSettings, this ); DXUTSetCallbackDeviceRemoved( OnDXUTDeviceRemoved, this ); // Set the D3D11 DXUT callbacks. Remove these sets if the app doesn't need to support D3D11 DXUTSetCallbackD3D11DeviceAcceptable( DXUTIsD3D11DeviceAcceptable, this ); DXUTSetCallbackD3D11DeviceCreated( OnDXUTD3D11CreateDevice, this ); DXUTSetCallbackD3D11SwapChainResized( OnDXUTD3D11ResizedSwapChain, this ); DXUTSetCallbackD3D11FrameRender( OnDXUTD3D11FrameRender, this ); DXUTSetCallbackD3D11SwapChainReleasing( OnDXUTD3D11ReleasingSwapChain, this ); DXUTSetCallbackD3D11DeviceDestroyed( OnDXUTD3D11DestroyDevice, this ); DXUTInit( true, true, NULL ); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings( true, true ); // Show the cursor and clip it when in full screen // Create DXUT stuff DXUTSetWindow( this->GetSafeHwnd(), this->GetSafeHwnd(), this->GetSafeHwnd(), false ); CRect rect; GetClientRect(&rect); // Only require 10-level hardware DXUTCreateDevice( D3D_FEATURE_LEVEL_10_1, true, rect.right, rect.bottom ); }
INT WINAPI wWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPWSTR lpCmdLine,int nShowCmd) { DXUTSetCallbackD3D10DeviceAcceptable(IsD3D10DeviceAcceptable); DXUTSetCallbackD3D10DeviceCreated(OnD3D10CreateDevice); DXUTSetCallbackD3D10DeviceDestroyed(OnD3D10DestroyDevice); DXUTSetCallbackD3D10FrameRender(OnD3D10FrameRender); DXUTSetCallbackD3D10SwapChainReleasing(OnD3D10SwapChainReleasing); DXUTSetCallbackD3D10SwapChainResized(OnD3D10SwapChainResized); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackKeyboard(KeyboardProc); initApp(); V(DXUTInit(true,true)); V(DXUTCreateWindow(L"CGRambler2.0 华南师范大学 李海全 [email protected]")); V(DXUTCreateDevice(true,Width,Height)); DXUTSetCursorSettings(true,true); V(DXUTMainLoop()); return DXUTGetExitCode(); }
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, INT nCmdShow) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif #pragma region Callback Calls DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackKeyboard(OnKeyboard); DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackD3D11DeviceCreated(OnD3D11CreateDevice); DXUTSetCallbackD3D11SwapChainResized(OnD3D11ResizedSwapChain); DXUTSetCallbackD3D11FrameRender(OnD3D11FrameRender); DXUTSetCallbackD3D11SwapChainReleasing(OnD3D11ReleasingSwapChain); DXUTSetCallbackD3D11DeviceDestroyed(OnD3D11DestroyDevice); #pragma endregion DXUTSetIsInGammaCorrectMode(true); DXUTInit(true, true, 0); InitUI(); #pragma region Adjust Display and Handling Settings DXUTSetCursorSettings(true, true); DXUTSetHotkeyHandling(true, true, false); DXUTCreateWindow(L"Deferred Shading"); DXUTCreateDevice(D3D_FEATURE_LEVEL_11_0, true, 1280, 720); #pragma endregion DXUTMainLoop(); return DXUTGetExitCode(); }
int main(int argc, char* argv[]) { // Set the callback functions DXUTSetCallbackD3D9DeviceAcceptable(IsD3D9DeviceAcceptable); DXUTSetCallbackD3D9DeviceCreated(OnD3D9CreateDevice); DXUTSetCallbackD3D9DeviceReset(OnD3D9ResetDevice); DXUTSetCallbackD3D9FrameRender(OnD3D9FrameRender); DXUTSetCallbackD3D9DeviceLost(OnD3D9LostDevice); DXUTSetCallbackD3D9DeviceDestroyed(OnD3D9DestroyDevice); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackFrameMove(OnFrameMove); // Initialize DXUT and create the desired Win32 window and D3D device for the application DXUTInit(true, false); // Parse the command line and show msgboxes DXUTSetHotkeyHandling(true, true, true); // handle the default hotkeys DXUTSetCursorSettings(true, true); // Show the cursor and clip it when in full screen DXUTCreateWindow(L"02_HelloDotDx9"); DXUTCreateDevice(true, 800, 600); DXUTMainLoop(); return DXUTGetExitCode(); }
void DXUTHelper::Render() { // Set general DXUT callbacks DXUTSetCallbackFrameMove(OnFrameMove); DXUTSetCallbackKeyboard(OnKeyboard); DXUTSetCallbackMouse(OnMouse); DXUTSetCallbackMsgProc(MsgProc); DXUTSetCallbackDeviceChanging(ModifyDeviceSettings); DXUTSetCallbackDeviceRemoved(OnDeviceRemoved); DXUTSetCallbackD3D11DeviceAcceptable(IsD3D11DeviceAcceptable); DXUTSetCallbackD3D11DeviceCreated(OnD3D11CreateDevice); DXUTSetCallbackD3D11SwapChainResized(OnD3D11ResizedSwapChain); DXUTSetCallbackD3D11FrameRender(OnD3D11FrameRender); DXUTSetCallbackD3D11SwapChainReleasing(OnD3D11ReleasingSwapChain); DXUTSetCallbackD3D11DeviceDestroyed(OnD3D11DestroyDevice); DXUTInit(true, true, nullptr); // Parse the command line, show msgboxes on error, no extra command line params DXUTSetCursorSettings(true, true); // Show the cursor and clip it when in full screen DXUTCreateWindow(L"Tutorial08"); DXUTCreateDevice(D3D_FEATURE_LEVEL_11_0, true, m_ScreenWidth, m_ScreenHeight); DXUTMainLoop(); }
int EditorMain(int *instancePtrAddress, int *hPrevInstancePtrAddress, int *hWndPtrAddress, int nCmdShow, int screenWidth, int screenHeight) { // C# passes HINSTANCE and HWND values to C++ DLL as (int *) HINSTANCE hInstance = (HINSTANCE)instancePtrAddress; HINSTANCE hPrevInstance = (HINSTANCE) hPrevInstancePtrAddress; HWND hWnd = (HWND)hWndPtrAddress; WCHAR *lpCmdLine = L""; // Set up checks for memory leaks. // Game Coding Complete reference - Chapter 12, page XXX // int tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); // set this flag to keep memory blocks around tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF; // this flag will cause intermittent pauses in your game! // perform memory check for each alloc/dealloc //tmpDbgFlag |= _CRTDBG_CHECK_ALWAYS_DF; // remember this is VERY VERY SLOW! // always perform a leak check just before app exits. tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF; _CrtSetDbgFlag(tmpDbgFlag); // [rez] Initialize the logging system as the very first thing you ever do! LOL after the memory system flags are set, that is! Logger::Init("logging.xml"); g_pApp->m_Options.Init("EditorOptions.xml", lpCmdLine); // Set the callback functions. These functions allow the sample framework to notify // the application about device changes, user input, and windows messages. The // callbacks are optional so you need only set callbacks for events you're interested // in. However, if you don't handle the device reset/lost callbacks then the sample // framework won't be able to reset your device since the application must first // release all device resources before resetting. Likewise, if you don't handle the // device created/destroyed callbacks then the sample framework won't be able to // recreate your device resources. DXUTSetCallbackMsgProc( GameCodeApp::MsgProc ); DXUTSetCallbackFrameMove( GameCodeApp::OnUpdateGame ); DXUTSetCallbackDeviceChanging( GameCodeApp::ModifyDeviceSettings ); if (g_pApp->m_Options.m_Renderer == "Direct3D 9") { DXUTSetCallbackD3D9DeviceAcceptable( GameCodeApp::IsD3D9DeviceAcceptable ); DXUTSetCallbackD3D9DeviceCreated( GameCodeApp::OnD3D9CreateDevice ); DXUTSetCallbackD3D9DeviceReset( GameCodeApp::OnD3D9ResetDevice ); DXUTSetCallbackD3D9DeviceLost( GameCodeApp::OnD3D9LostDevice ); DXUTSetCallbackD3D9DeviceDestroyed( GameCodeApp::OnD3D9DestroyDevice ); DXUTSetCallbackD3D9FrameRender( GameCodeApp::OnD3D9FrameRender ); } else if (g_pApp->m_Options.m_Renderer == "Direct3D 11") { DXUTSetCallbackD3D11DeviceAcceptable( GameCodeApp::IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( GameCodeApp::OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( GameCodeApp::OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11SwapChainReleasing( GameCodeApp::OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( GameCodeApp::OnD3D11DestroyDevice ); DXUTSetCallbackD3D11FrameRender( GameCodeApp::OnD3D11FrameRender ); } else { GCC_ASSERT(0 && "Unknown renderer specified in game options."); return false; } // Show the cursor and clip it when in full screen DXUTSetCursorSettings( true, true ); // Perform application initialization if (!g_pApp->InitInstance (hInstance, lpCmdLine, hWnd, screenWidth, screenHeight)) { return FALSE; } // This is where the game would normally call the main loop, but the // C# application will control this, so we don’t need to call // DXUTMainLoop() here. return true; }
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { // Enable run-time memory check for debug builds. #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif Initialize(); // Set DXUT callbacks DXUTSetCallbackDeviceChanging( ModifyDeviceSettings ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( OnKeyboard ); DXUTSetCallbackMouse( OnMouse, true ); DXUTSetCallbackD3D11DeviceAcceptable( IsD3D11DeviceAcceptable ); DXUTSetCallbackD3D11DeviceCreated( OnD3D11CreateDevice ); DXUTSetCallbackD3D11SwapChainResized( OnD3D11ResizedSwapChain ); DXUTSetCallbackD3D11FrameRender( OnD3D11FrameRender ); DXUTSetCallbackD3D11SwapChainReleasing( OnD3D11ReleasingSwapChain ); DXUTSetCallbackD3D11DeviceDestroyed( OnD3D11DestroyDevice ); InitApp(); if (gMultithreaded) { InitWin32Threads(); } DXUTInit( true, true, NULL ); DXUTSetCursorSettings( true, true ); DXUTCreateWindow( L"ISPC HDR Texture Compressor" ); // Try to create a device with DX11 feature set DXUTCreateDevice (D3D_FEATURE_LEVEL_11_0, true, 1280, 1024 ); BOOL DX11Available = false; // If we don't have an adequate driver, then we revert to DX10 feature set... DXUTDeviceSettings settings = DXUTGetDeviceSettings(); if(settings.d3d11.DriverType == D3D_DRIVER_TYPE_UNKNOWN || settings.d3d11.DriverType == D3D_DRIVER_TYPE_NULL) { DXUTCreateDevice(D3D_FEATURE_LEVEL_10_1, true, 1280, 1024); // !HACK! Force enumeration here in order to relocate hardware with new feature level DXUTGetD3D11Enumeration(true); DXUTCreateDevice(D3D_FEATURE_LEVEL_10_1, true, 1280, 1024); const TCHAR *noDx11msg = _T("Your hardware does not seem to support DX11. BC7 Compression is disabled."); MessageBox(NULL, noDx11msg, _T("Error"), MB_OK); } else { DX11Available = true; } FillProfiles(DX11Available); DXUTMainLoop(); // Destroy all of the threads... DestroyThreads(); return DXUTGetExitCode(); }