제 목 device, device_context, swap_chain 관련 질문입니다.
작성자 이관영 등록날짜 2020-12-11 17:56:39 / 조회수 : 228
강좌명 [단과] DirectX 11 2D Part 1
  • 1,2,3강 초기화 강의 부분에서 통틀어서 

    컴인터페이스의 경우 desc가 필요하다고 하셨고

    그래서 이니셜라이즈 함수에서

    desc 부분을 초기화해주는걸로 이해했습니다.

    그리고 그 다음 원래는 device, device_context, swap_chain  각각 따로 만들어주는게 맞지만

    지금은 한번에 만드는 함수로 만드는것까지 이해했구여.

    그런데 이니셜라이즈 함수에서

    왜 swap_chain의 경우만 desc 객체생성해서 초기화해주고

     device, device_context는 따로 해주지 않은건가요?

    혹시D3D11CreateDeviceAndSwapChain()함수로 3개를 함께 만드는 경우와 동일하게

     device, device_context는 

    DXGI_SWAP_CHAIN_DESC desc 객체로 재사용했다라고 이해하면 될까요..

     

     

  • 작성자 : 온라인게임아카데미 / 등록날짜 : 2020-12-11 18:06:53
  • 안녕하세요 온라인게임아카데미 입니다.

    문의하신 프로그래밍 관련 내용에 대하여 담당 강사님에게 전달하였습니다.
    다음날 오후 6시 이전까지는 답변드릴 수 있도록 하겠습니다.

    꿈을 이루시는 그날까지 함께 하겠습니다.
    SGA온라인게임아카데미

     

    --------------------------------------------------------------------------------------------------------------------

    안녕하세요 온라인게임아카데미 프로그래밍 강사 하민우 입니다.

    우선 조금 직설적으로 질문에 대한 답부터 드리자면 아닙니다.

     

    device, device_context, swap_chain 들을 원래 따로 만들어줘야 하는 것이 아니라 따로 만들 수도 있지만

    D3D11CreateDeviceAndSwapChain( ) 함수를 사용하여 한번에 생성도 가능하다고 말하는게 맞습니다.

    그리고 아래  디바이스와 컨텍스트를 만들어주는 함수와 스왑체인까지 한번에 만들어주는 함수의 인자값들을

    보시면 D3D11CreateDeviceAndSwapChain( ) 함수에서도 디바이스와 컨텍스트를 생성하기 위해서 필요한  정보들을

    그대로 다 받아서 생성이 됩니다.

     

    HRESULT D3D11CreateDevice(
       IDXGIAdapter *pAdapter,
       D3D_DRIVER_TYPE DriverType,
       HMODULE Software,
       UINT Flags,
       const D3D_FEATURE_LEVEL *pFeatureLevels,
       UINT FeatureLevels,
       UINT SDKVersion,
       ID3D11Device **ppDevice,
       D3D_FEATURE_LEVEL *pFeatureLevel,
       ID3D11DeviceContext **ppImmediateContext
    );

     

    HRESULT D3D11CreateDeviceAndSwapChain(
       IDXGIAdapter *pAdapter,
       D3D_DRIVER_TYPE DriverType,
       HMODULE Software, UINT Flags,
       const D3D_FEATURE_LEVEL *pFeatureLevels,
       UINT FeatureLevels,
       UINT SDKVersion,
       const DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,
       IDXGISwapChain **ppSwapChain,
       ID3D11Device **ppDevice,
       D3D_FEATURE_LEVEL *pFeatureLevel,
       ID3D11DeviceContext **ppImmediateContext
    );

     

    항상 열공하시고 공부하다가 이해가 안되는 부분이 있을 때는 언제든지 질문 주시기 바랍니다.

    감사합니다.

댓글 1개
  • 이관영 [ 2020-12-11 21:12:30 ]
  • 아 이제 이해가 됐습니다. 상세한 설명 감사합니다