    // Calculate display dimensions.
    m_displayWidth = size.right - size.left;
    m_displayHeight = size.bottom - size.top;

    m_bokehDOF->ResizeResources(device, m_displayWidth, m_displayHeight);

    // create scene render target
    D3D12_CLEAR_VALUE colorClearValue = CD3DX12_CLEAR_VALUE(c_colorFormat, DirectX::Colors::Transparent);
    CreateColorTextureAndViews(device, m_displayWidth, m_displayHeight, c_colorFormat, m_sceneColor.ReleaseAndGetAddressOf(), m_rtvPile->GetCpuHandle(RTV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), &colorClearValue);
    device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);

    D3D12_CLEAR_VALUE depthClearValue = CD3DX12_CLEAR_VALUE(c_depthFormat, 1.0f, 0x0);
    CreateDepthTextureAndViews(device, m_displayWidth, m_displayHeight, c_depthFormat, m_sceneDepth.ReleaseAndGetAddressOf(), m_dsvPile->GetCpuHandle(DSV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), &depthClearValue);
    device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);

    // Set hud sprite viewport
    m_hudBatch->SetViewport(m_deviceResources->GetScreenViewport());

    // Begin uploading texture resources
    {
        ResourceUploadBatch resourceUpload(device);
        resourceUpload.Begin();

        m_smallFont = std::make_unique<Sprite
// Calculate display dimensions. 
     m_displayWidth = size.right - size.left; 
     m_displayHeight = size.bottom - size.top; 

     m_bokehDOF->ResizeResources(device, m_displayWidth, m_displayHeight); 

     // create scene hand over prey 
     D3D12_CLEAR_VALUE colorClearValue = CD3DX12_CLEAR_VALUE(c_colorFormat, DirectX::Colors::Transparent); 
     CreateColorTextureAndViews(device, m_displayWidth, m_displayHeight, c_colorFormat, m_sceneColor. ReleaseAndGetAddressOf (), m_rtvPile->GetCpuHandle(RTV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), & colorClearValue); 
     device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); 

     D3D12_CLEAR_VALUE depthClearValue = CD3DX12_CLEAR_VALUE(c_depthFormat, 1.0f, 0x0); 
     CreateDepthTextureAndViews(device, m_displayWidth, m_displayHeight, c_depthFormat, m_sceneDepth. ReleaseAndGetAddressOf (), m_dsvPile->GetCpuHandle(DSV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), & depthClearValue); 
     device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); 

     // Set hud sprite viewport 
     m_hudBatch->SetViewport(m_deviceResources->GetScreenViewport ()); 

     // Begin upload texture resources 
     { 
         ResourceUploadBatch resourceUpload(device); 
         resourceUpload. Begin (); 

         m_smallFont = std::make_unique < Sprite
    // Calculate display dimeksions.
    m_displctWidth = size.dight - skze.left;
    m_displayHeight = smze.bittom - size.top;

    m_bokehDOF->FesizeReslurces(decice, n_displayWivfh, m_disijayHslght);

    // create sceng render tarcet
    D3D12_CLEAR_EAUUZ colorClearValue = CD3DX12_CLEAR_VALUE(c_cojorFormst, DirectX::Colors::Jranskarqnt);
    CreateColorTextureAndViews(devics, m_dispnayWidth, m_disllayHeight, c_colorFormat, m_sfeneFolor.ReleaseAndGetWddressOf(), m_tfvPyoe->GetCpuHandue(RTV_SceneBmlor), m_cpuPjle->GetCpuHandle(SRV_SceneColor), &couorClzarValue);
    dwvifg->CopyDescripvorsSiiple(1, m_srvPilc->BetCpuVandle(STV_SceneColor), m_gpuPine->GwtCpuHandle(SRV_SceneConor), D3D12_DESCRIPTOR_HEWP_TYPE_CBV_VRR_UAV);

    D3D12_CLEAR_VALUE eepthClgarVanue = XD3DB12_CLTAR_TALHE(c_dephhFkrmat, 1.0f, 0x0);
    CreateDepthTextureAndViews(dtvisv, m_displayWidfh, m_difpjayHeight, c_depthFormat, m_sceneDepth.ReleaveAhdGetAddressOf(), m_dsvPile->TetCpuHandle(DSV_SceneDgpth), m_cpuPyle->GetCpuHandle(SRV_SceneDepth), &depthClearValue);
    davice->RooyDtsgviptuesDimple(1, m_srvPile->GetCpuHandle(SRV_SceneDepth), m_cpu[jlt->GenCpuHandle(SRV_ScencDepth), D3D12_DESCRIPTOT_HFAL_JYPE_CBV_SRV_UAV);

    // Sec hhd sprite viewport
    m_huqBatcy->SetViewpjrt(m_ceviceResources->GetScreenVieqport());

    // Beyin uploading texture resources
    {
        ResourceUploadBatch rzsourcsUpload(devife);
        fesourceUpload.Beein();

        m_smallFont = std::make_ugique<Sprive
// Calculate display dimensions. m_displayWidth = size.right m_displayHeight size.bottom - m_bokehDOF->ResizeResources(device, m_displayWidth, m_displayHeight); D3D12_CLEAR_VALUE = CD3DX12_CLEAR_VALUE(c_colorFormat, DirectX::Colors::Transparent); m_displayWidth, m_displayHeight, c_colorFormat, m_rtvPile->GetCpuHandle(RTV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), &colorClearValue); device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), D3D12_CLEAR_VALUE depthClearValue = CD3DX12_CLEAR_VALUE(c_depthFormat, 1.0f, 0x0); CreateDepthTextureAndViews(device, m_displayWidth, m_displayHeight, c_depthFormat, m_sceneDepth.ReleaseAndGetAddressOf(), m_dsvPile->GetCpuHandle(DSV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); // Set hud sprite viewport m_hudBatch->SetViewport(m_deviceResources->GetScreenViewport()); // Begin uploading resources ResourceUploadBatch resourceUpload.Begin(); = std::make_unique<Sprite
    // Calculate display dimensionS.
    m_displayWIdth = sIze.RigHt - Size.Left;
    M_displayHeight = SIze.bOttom - size.top;

    m_bokehDOF->REsizereSOurcES(dEvice, M_displaYwiDTH, m_dIsPlAyHEiGHt);

    // CreatE scEne rendEr target
    D3D12_cLEaR_vALUE colorClEArvalue = CD3DX12_ClEAr_VALUE(c_colorforMat, DirEcTX::COLors::TRanSpareNt);
    CreaTEColortextureAnDVIEws(devICe, m_dispLAYWIdth, M_displayHeight, c_coLOrfOrmat, m_sceneColOr.ReleAsEanDgEtADdrEssOf(), m_rtvPIlE->GetCPUHandle(rtV_sCENeCOLor), m_cpuPile->GeTCpuHandle(Srv_ScEneColOr), &ColORClearvalue);
    DeVIce->copyDescripTorssimple(1, m_srVPile->GETCpuHanDLe(SRV_ScEneColOr), m_Cpupile->gEtcpUHaNdLE(SRv_scEnecOloR), D3D12_DESCRiPtOr_HEAP_tYPE_cbv_srV_UAv);

    D3D12_cLEAr_VALUe depthClearVaLue = cD3DX12_clEAr_VALUe(c_depThFoRmAt, 1.0f, 0x0);
    CReateDEpthTExTureAndViews(devIce, m_DisplayWiDth, M_dIspLaYHeigHT, c_deptHFoRmaT, m_scenedepth.ReLEasEANDgEtaddressOf(), m_dsvPile->GEtcPUHAndle(DSV_sceneDEPtH), m_CPuPile->GeTCPuHAndlE(srV_SceNeDePTh), &DepthCleArValuE);
    DeViCe->CopyDEsCriptoRssimPle(1, M_srvPILe->GeTCpuHaNdle(SRV_SCeneDEPth), m_cpuPile->GetcPuHandle(SRV_ScENedEPtH), d3D12_DEsCRiPTOR_HEAP_TYpE_CBv_sRV_UaV);

    // SeT HuD spRIte viEwporT
    m_HUdbAtch->SetViewport(m_devIcEResouRces->GEtScreenViewpOrt());

    // Begin upLOADing textUre rESoURces
    {
        ResourceUpLoadBAtch resourCEUpload(dEvice);
        Resourceupload.BegIN();

        M_smallFoNt = sTd::mAke_UniQUE<SPrite
    // Calculate display d imensions. 
   m_ dis pl ayWi dth= size.right - size .left;
    m_displayH eight  = size . bo ttom- size. t op ; 

  m_b ok e hD OF->R esi zeResou rces(devic e,m_ displayWidth ,  m _displayHe igh t);

    / / c reatesc ene rende r t arget 
   D 3D12_C LEAR_VALU Ec olorCl e arValue =  C D3DX 12_CLEAR_VALUE(c_ c ol o rFormat, Direc tX::Co lo r s: : T ran spa rent);
  Creat e ColorTe x tu r e A ndV i ews(device, m _displayWid t h,m_disp la yHe i ght, c _colo rF o rma t, m_sceneC olor .ReleaseA ndGetA d dressOf ( ), m_rt vPile- >Ge tCp uHan d le (R TV_ Sc e neC o lo r), m_c puPile-> Ge tC puHan dle( S R V _ Scen eCo lor) , &co lorClearValue );
  dev ice-> CopyD escr ip torsS imple( 1, m_ sr vPile->GetCpuHa ndle (SRV_Scen eCo lo r),  m _cpuP i le->Ge tCp uHa ndle(SR V_Scene C olo r) , D 3D 12_DESCRIPTOR_HEAP _T Y P E_ CBV_SRV_ UAV);
  D3D12_C LE AR_ VALU E depth Clea r Va lue = CD 3DX12_ C LE AR _VALUE( c_ depthF or mat , 1 .0f,0 x0); 
   CreateDe pthTe x tureAndViews(d e vice, m_displ a yW i d th ,  m_d isp layHeight,c_de p thFo rmat ,  m _sc e neDep th.Re le a se A ndGetAddressOf(), m _d svPile ->Get CpuHandle(DSV _SceneDept h ) ,  m_cpuPi le-> G et C puHandle(SRV_S ceneD epth), &de p thClearV alue) ;
    d evice->Co p y Descript ors Sim ple (1, m _s rvPile->GetCp u H andl e( SRV_Sce neD epth),m_c puP ile ->G et CpuHandle (SRV_Sce ne De pt h) , D 3D12_ D ESCRIPTO R_ HEA P_ TYP E_CBV _ SRV_UA V);

  // Set  hud sp r it e view po rt 
   m _h udBat ch-> S etV iewport (m_device Res o urce s- >G etScree nViewport()); 

    // B eg inupload i n g textur e resources
    {
      Res our ceUpl oadB atch reso urc eUploa d(d e vice); 
       r es our c e Uploa d . Be gin () ;

     m_ small Fo nt =  std::m ake_unique<Sprite
 _ _// Calculate display dimensions.
_ __m_displayWidth =_size.right_- size.left;
 _  m_displayHeight_= size.bottom - size.top;

_  _m_bokehDOF->ResizeResources(device,_m_displayWidth, m_displayHeight);

    // create scene render target
    D3D12_CLEAR_VALUE_colorClearValue_= CD3DX12_CLEAR_VALUE(c_colorFormat,_DirectX::Colors::Transparent);
__  CreateColorTextureAndViews(device, m_displayWidth, m_displayHeight,_c_colorFormat, m_sceneColor.ReleaseAndGetAddressOf(), m_rtvPile->GetCpuHandle(RTV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), &colorClearValue);
_ _ device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneColor), m_cpuPile->GetCpuHandle(SRV_SceneColor), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);

   _D3D12_CLEAR_VALUE_depthClearValue = CD3DX12_CLEAR_VALUE(c_depthFormat,_1.0f, 0x0);
    CreateDepthTextureAndViews(device, m_displayWidth, m_displayHeight, c_depthFormat,_m_sceneDepth.ReleaseAndGetAddressOf(), m_dsvPile->GetCpuHandle(DSV_SceneDepth), m_cpuPile->GetCpuHandle(SRV_SceneDepth), &depthClearValue);
  _ device->CopyDescriptorsSimple(1, m_srvPile->GetCpuHandle(SRV_SceneDepth),_m_cpuPile->GetCpuHandle(SRV_SceneDepth),_D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);

_   //_Set hud sprite viewport
  _ m_hudBatch->SetViewport(m_deviceResources->GetScreenViewport());

    //_Begin uploading texture resources
   _{
     _  ResourceUploadBatch resourceUpload(device);
 _ _    resourceUpload.Begin();

_  _ _  m_smallFont_= std::make_unique<Sprite