亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dxut.cpp

?? VC中使用C#作為腳本引擎編程
?? CPP
?? 第 1 頁 / 共 5 頁
字號:

    if( GetDXUTState().GetOverrideFullScreen() )
    {
        deviceSettings.pp.Windowed = FALSE;
        if( GetDXUTState().GetOverrideWidth() == 0 && GetDXUTState().GetOverrideHeight() == 0 )
            matchOptions.eResolution = DXUTMT_IGNORE_INPUT;
    }
    if( GetDXUTState().GetOverrideWindowed() )
        deviceSettings.pp.Windowed = TRUE;

    if( GetDXUTState().GetOverrideForceHAL() )
    {
        deviceSettings.DeviceType = D3DDEVTYPE_HAL;
        matchOptions.eDeviceType = DXUTMT_PRESERVE_INPUT;
    }
    if( GetDXUTState().GetOverrideForceREF() )
    {
        deviceSettings.DeviceType = D3DDEVTYPE_REF;
        matchOptions.eDeviceType = DXUTMT_PRESERVE_INPUT;
    }

    if( GetDXUTState().GetOverrideForcePureHWVP() )
    {
        deviceSettings.BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE;
        matchOptions.eVertexProcessing = DXUTMT_PRESERVE_INPUT;
    }
    else if( GetDXUTState().GetOverrideForceHWVP() )
    {
        deviceSettings.BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING;
        matchOptions.eVertexProcessing = DXUTMT_PRESERVE_INPUT;
    }
    else if( GetDXUTState().GetOverrideForceSWVP() )
    {
        deviceSettings.BehaviorFlags = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
        matchOptions.eVertexProcessing = DXUTMT_PRESERVE_INPUT;
    }

    if( GetDXUTState().GetOverrideForceVsync() == 0 )
    {
        deviceSettings.pp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
        matchOptions.ePresentInterval = DXUTMT_PRESERVE_INPUT;
    }
    else if( GetDXUTState().GetOverrideForceVsync() == 1 )
    {
        deviceSettings.pp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
        matchOptions.ePresentInterval = DXUTMT_PRESERVE_INPUT;
    }

    hr = DXUTFindValidDeviceSettings( &deviceSettings, &deviceSettings, &matchOptions );
    if( FAILED(hr) ) // the call will fail if no valid devices were found
    {
        DXUTDisplayErrorMessage( hr );
        return DXUT_ERR( L"DXUTFindValidDeviceSettings", hr );
    }

    // Change to a Direct3D device created from the new device settings.  
    // If there is an existing device, then either reset or recreated the scene
    hr = DXUTChangeDevice( &deviceSettings, NULL, false, true );
    if( FAILED(hr) )
        return hr;

    return S_OK;
}


//--------------------------------------------------------------------------------------
// Passes a previously created Direct3D device for use by the framework.  
// If DXUTCreateWindow() has not already been called, it will call it with the 
// default parameters.  Instead of calling this, you can call DXUTCreateDevice() or 
// DXUTCreateDeviceFromSettings() 
//--------------------------------------------------------------------------------------
HRESULT DXUTSetDevice( IDirect3DDevice9* pd3dDevice )
{
    HRESULT hr;

    if( pd3dDevice == NULL )
        return DXUT_ERR_MSGBOX( L"DXUTSetDevice", E_INVALIDARG );

    // Not allowed to call this from inside the device callbacks
    if( GetDXUTState().GetInsideDeviceCallback() )
        return DXUT_ERR_MSGBOX( L"DXUTCreateWindow", E_FAIL );

    GetDXUTState().SetDeviceCreateCalled( true );

    // If DXUTCreateWindow() or DXUTSetWindow() has not already been called, 
    // then call DXUTCreateWindow() with the default parameters.         
    if( !GetDXUTState().GetWindowCreated() ) 
    {
        // If DXUTCreateWindow() or DXUTSetWindow() was already called and failed, then fail.
        // DXUTCreateWindow() or DXUTSetWindow() must first succeed for this function to succeed
        if( GetDXUTState().GetWindowCreateCalled() )
            return E_FAIL; 

        // If DXUTCreateWindow() or DXUTSetWindow() hasn't been called, then 
        // automatically call DXUTCreateWindow() with default params
        hr = DXUTCreateWindow();
        if( FAILED(hr) )
            return hr;
    }

    DXUTDeviceSettings* pDeviceSettings = new DXUTDeviceSettings;
    if( pDeviceSettings == NULL )
        return E_OUTOFMEMORY;
    ZeroMemory( pDeviceSettings, sizeof(DXUTDeviceSettings) );

    // Get the present params from the swap chain
    IDirect3DSurface9* pBackBuffer = NULL;
    hr = pd3dDevice->GetBackBuffer( 0, 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer );
    if( SUCCEEDED(hr) )
    {
        IDirect3DSwapChain9* pSwapChain = NULL;
        hr = pBackBuffer->GetContainer( IID_IDirect3DSwapChain9, (void**) &pSwapChain );
        if( SUCCEEDED(hr) )
        {
            pSwapChain->GetPresentParameters( &pDeviceSettings->pp );
            SAFE_RELEASE( pSwapChain );
        }

        SAFE_RELEASE( pBackBuffer );
    }

    D3DDEVICE_CREATION_PARAMETERS d3dCreationParams;
    pd3dDevice->GetCreationParameters( &d3dCreationParams );

    // Fill out the rest of the device settings struct
    pDeviceSettings->AdapterOrdinal = d3dCreationParams.AdapterOrdinal;
    pDeviceSettings->DeviceType     = d3dCreationParams.DeviceType;
    DXUTFindAdapterFormat( pDeviceSettings->AdapterOrdinal, pDeviceSettings->DeviceType, 
                           pDeviceSettings->pp.BackBufferFormat, pDeviceSettings->pp.Windowed, 
                           &pDeviceSettings->AdapterFormat );
    pDeviceSettings->BehaviorFlags  = d3dCreationParams.BehaviorFlags;

    // Change to the Direct3D device passed in
    hr = DXUTChangeDevice( pDeviceSettings, pd3dDevice, false, false );

    delete pDeviceSettings;

    if( FAILED(hr) ) 
        return hr;

    return S_OK;
}


//--------------------------------------------------------------------------------------
// Tells the framework to change to a device created from the passed in device settings
// If DXUTCreateWindow() has not already been called, it will call it with the 
// default parameters.  Instead of calling this, you can call DXUTCreateDevice() 
// or DXUTSetDevice() 
//--------------------------------------------------------------------------------------
HRESULT DXUTCreateDeviceFromSettings( DXUTDeviceSettings* pDeviceSettings, bool bPreserveInput, bool bClipWindowToSingleAdapter )
{
    HRESULT hr;

    GetDXUTState().SetDeviceCreateCalled( true );

    // If DXUTCreateWindow() or DXUTSetWindow() has not already been called, 
    // then call DXUTCreateWindow() with the default parameters.         
    if( !GetDXUTState().GetWindowCreated() ) 
    {
        // If DXUTCreateWindow() or DXUTSetWindow() was already called and failed, then fail.
        // DXUTCreateWindow() or DXUTSetWindow() must first succeed for this function to succeed
        if( GetDXUTState().GetWindowCreateCalled() )
            return E_FAIL; 

        // If DXUTCreateWindow() or DXUTSetWindow() hasn't been called, then 
        // automatically call DXUTCreateWindow() with default params
        hr = DXUTCreateWindow();
        if( FAILED(hr) )
            return hr;
    }

    if( !bPreserveInput )
    {
        // If not preserving the input, then find the closest valid to it
        DXUTMatchOptions matchOptions;
        matchOptions.eAdapterOrdinal     = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eDeviceType         = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eWindowed           = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eAdapterFormat      = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eVertexProcessing   = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eResolution         = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eBackBufferFormat   = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eBackBufferCount    = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eMultiSample        = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eSwapEffect         = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eDepthFormat        = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eStencilFormat      = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.ePresentFlags       = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.eRefreshRate        = DXUTMT_CLOSEST_TO_INPUT;
        matchOptions.ePresentInterval    = DXUTMT_CLOSEST_TO_INPUT;

        hr = DXUTFindValidDeviceSettings( pDeviceSettings, pDeviceSettings, &matchOptions );
        if( FAILED(hr) ) // the call will fail if no valid devices were found
        {
            DXUTDisplayErrorMessage( hr );
            return DXUT_ERR( L"DXUTFindValidDeviceSettings", hr );
        }
    }

    // Change to a Direct3D device created from the new device settings.  
    // If there is an existing device, then either reset or recreate the scene
    hr = DXUTChangeDevice( pDeviceSettings, NULL, false, bClipWindowToSingleAdapter );
    if( FAILED(hr) )
        return hr;

    return S_OK;
}


//--------------------------------------------------------------------------------------
// Toggle between full screen and windowed
//--------------------------------------------------------------------------------------
HRESULT DXUTToggleFullScreen()
{
    HRESULT hr;

    // Get the current device settings and flip the windowed state then
    // find the closest valid device settings with this change
    DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings();
    deviceSettings.pp.Windowed = !deviceSettings.pp.Windowed;

    DXUTMatchOptions matchOptions;
    matchOptions.eAdapterOrdinal     = DXUTMT_PRESERVE_INPUT;
    matchOptions.eDeviceType         = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eWindowed           = DXUTMT_PRESERVE_INPUT;
    matchOptions.eAdapterFormat      = DXUTMT_IGNORE_INPUT;
    matchOptions.eVertexProcessing   = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eBackBufferFormat   = DXUTMT_IGNORE_INPUT;
    matchOptions.eBackBufferCount    = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eMultiSample        = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eSwapEffect         = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eDepthFormat        = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eStencilFormat      = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.ePresentFlags       = DXUTMT_CLOSEST_TO_INPUT;
    matchOptions.eRefreshRate        = DXUTMT_IGNORE_INPUT;
    matchOptions.ePresentInterval    = DXUTMT_CLOSEST_TO_INPUT;

    // Go back to previous state

    UINT nWidth  = ( deviceSettings.pp.Windowed ) ? GetDXUTState().GetWindowBackBufferWidthAtModeChange() : GetDXUTState().GetFullScreenBackBufferWidthAtModeChange();
    UINT nHeight = ( deviceSettings.pp.Windowed ) ? GetDXUTState().GetWindowBackBufferHeightAtModeChange() : GetDXUTState().GetFullScreenBackBufferHeightAtModeChange();
    if( nWidth > 0 && nHeight > 0 )
    {
        matchOptions.eResolution = DXUTMT_CLOSEST_TO_INPUT;
        deviceSettings.pp.BackBufferWidth = nWidth;
        deviceSettings.pp.BackBufferHeight = nHeight;
    }
    else
    {
        // No previous data, so just switch to defaults
        matchOptions.eResolution = DXUTMT_IGNORE_INPUT;
    }
    
    hr = DXUTFindValidDeviceSettings( &deviceSettings, &deviceSettings, &matchOptions );
    if( SUCCEEDED(hr) ) 
    {
        // Create a Direct

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品久久久久久| 婷婷激情综合网| 26uuu国产在线精品一区二区| 99久久99久久综合| 久久精品国产网站| 午夜精品一区二区三区三上悠亚 | 成人免费黄色大片| 国产91丝袜在线观看| 国产ts人妖一区二区| 国产不卡视频一区二区三区| 国产盗摄视频一区二区三区| 福利电影一区二区| 99久久婷婷国产综合精品电影| 成人精品鲁一区一区二区| av中文字幕亚洲| 色综合视频在线观看| 欧美精品一二三| 欧美成人激情免费网| 欧美国产丝袜视频| 亚洲欧美电影院| 午夜欧美在线一二页| 久久av老司机精品网站导航| 国产大陆亚洲精品国产| 99re8在线精品视频免费播放| 欧日韩精品视频| 欧美一区二区性放荡片| 国产欧美一区二区在线| 亚洲一区二区视频在线观看| 日韩不卡一二三区| 国产成人在线看| 精品视频在线看| 久久日一线二线三线suv| 中文字幕成人av| 五月综合激情婷婷六月色窝| 捆绑紧缚一区二区三区视频| 97久久超碰国产精品| 欧美日韩精品一区二区三区蜜桃 | 久久亚洲二区三区| 亚洲精品国产精华液| 免费成人美女在线观看.| 国产成人精品三级| 欧美精选午夜久久久乱码6080| 久久在线观看免费| 一个色在线综合| 国产69精品久久久久777| 欧美日韩综合在线免费观看| 国产欧美日韩另类视频免费观看 | 在线播放日韩导航| 欧美韩国日本综合| 日韩制服丝袜先锋影音| 91性感美女视频| 欧美一区二区三区啪啪| 亚洲综合丁香婷婷六月香| 国产a级毛片一区| 欧美一区二区三区爱爱| 悠悠色在线精品| 国产精品影视在线| 日韩欧美中文字幕一区| 亚洲一区二区三区四区中文字幕 | 国产精品国产自产拍在线| 久久国产精品一区二区| 欧美性做爰猛烈叫床潮| 国产精品久久久久久亚洲毛片| 美女在线一区二区| 欧美精品第1页| 一区二区视频在线| 91视频免费观看| 国产欧美精品区一区二区三区 | 精品国产乱码久久久久久夜甘婷婷| 亚洲黄一区二区三区| 99re免费视频精品全部| 国产午夜精品美女毛片视频| 国产在线观看一区二区| 欧美一区二区在线不卡| 国产激情精品久久久第一区二区| 在线电影一区二区三区| 亚洲不卡一区二区三区| 欧美三级电影网站| 亚洲综合一区在线| 色婷婷综合激情| 亚洲一区成人在线| 欧美日韩一区三区| 首页综合国产亚洲丝袜| 日韩视频免费直播| 强制捆绑调教一区二区| 日韩三级伦理片妻子的秘密按摩| 石原莉奈一区二区三区在线观看| 欧美日韩国产免费一区二区 | 美女一区二区三区在线观看| 日韩欧美国产一区二区三区| 国内精品自线一区二区三区视频| 久久婷婷久久一区二区三区| 国产福利91精品一区| 国产肉丝袜一区二区| 99久久国产综合色|国产精品| 亚洲视频电影在线| 欧美日韩一区二区三区高清| 日韩精品一区第一页| 日韩欧美国产一二三区| 国产一区不卡精品| 亚洲日本在线视频观看| 欧美精品在线视频| 国模大尺度一区二区三区| 亚洲国产精品v| 欧美亚洲精品一区| 九色porny丨国产精品| 国产精品天美传媒沈樵| 欧美日韩国产另类不卡| 九一九一国产精品| 成人免费一区二区三区在线观看| 欧美视频三区在线播放| 麻豆91在线播放| 中文字幕在线不卡视频| 欧美一区二区视频在线观看 | 亚洲精品免费一二三区| 欧美一级日韩免费不卡| 懂色av一区二区三区免费观看| 亚洲综合在线五月| 中文字幕免费观看一区| 久久影院电视剧免费观看| av电影在线观看一区| 日韩精品电影在线| 国产午夜精品一区二区三区嫩草| 欧美写真视频网站| 成人久久18免费网站麻豆 | 精品国产网站在线观看| 在线视频国内自拍亚洲视频| 国产精品中文字幕欧美| 五月天激情综合| 亚洲三级理论片| 久久久精品黄色| 日韩一卡二卡三卡四卡| 欧美在线综合视频| 成人黄色电影在线| 狠狠色丁香婷综合久久| 日韩精品一二三四| 又紧又大又爽精品一区二区| 国产亚洲视频系列| 欧美va天堂va视频va在线| 欧美人牲a欧美精品| 色av综合在线| a在线播放不卡| 国产一区二区三区免费| 久久成人综合网| 秋霞午夜av一区二区三区| 亚洲综合色区另类av| 国产精品无圣光一区二区| 欧美成人国产一区二区| 日韩一二三四区| 欧美高清激情brazzers| 欧美精品丝袜中出| 欧美精品丝袜中出| 69堂成人精品免费视频| 欧美在线观看视频一区二区三区| 99re这里只有精品6| 国产成人av电影在线观看| 国产麻豆9l精品三级站| 国产一区不卡视频| 国产一区二区伦理| 国产乱人伦偷精品视频免下载| 麻豆精品视频在线观看免费 | 国产精品影视在线| 国产激情精品久久久第一区二区| 久久国产尿小便嘘嘘尿| 久久99精品国产.久久久久久| 激情综合色丁香一区二区| 久久爱www久久做| 国产麻豆日韩欧美久久| 成人综合在线视频| 91色综合久久久久婷婷| 色婷婷久久综合| 欧美精品乱码久久久久久| 欧美精品久久99久久在免费线| 欧美一区二区久久久| 久久久久久综合| 亚洲少妇最新在线视频| 亚洲香蕉伊在人在线观| 免费成人你懂的| 成人午夜碰碰视频| 欧美日韩久久不卡| 久久嫩草精品久久久精品一| 亚洲欧洲国产日韩| 日韩精品色哟哟| 国产成人亚洲综合a∨婷婷图片| 成人免费看片app下载| 在线精品视频一区二区| 亚洲精品少妇30p| 偷拍与自拍一区| 国产成人免费网站| 在线精品视频免费播放| 精品伦理精品一区| 亚洲视频在线一区| 久久精品国产99| 99re66热这里只有精品3直播 | 日韩欧美一区在线| 亚洲人快播电影网| 狠狠网亚洲精品| 欧美男人的天堂一二区| 国产女同互慰高潮91漫画| 午夜精品久久久久影视|