반응형
DX SDK 튜토리얼을 대충 보면.. 이상한 것이 생겼다.
(Tutorial 01: Direct3D 10 Basics 중...)
DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory( &sd, sizeof(sd) );
sd.BufferCount = 1;
sd.BufferDesc.Width = 640;
sd.BufferDesc.Height = 480;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.OutputWindow = g_hWnd;
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
sd.Windowed = TRUE;
if( FAILED( D3D10CreateDeviceAndSwapChain( NULL, D3D10_DRIVER_TYPE_REFERENCE, NULL,
0, D3D10_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice ) ) )
{
return FALSE;
}
음.. 스왑체인.. XNA에서도 비슷한걸 본 기억이 있어서 MDSN을 뒤져보니
D3D10CreateDeviceAndSwapChain(
IDXGIAdapter *pAdapter,
D3D10_DRIVER_TYPE DriverType,
HMODULE Software,
UINT Flags,
UINT SDKVersion,
DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,
IDXGISwapChain **ppSwapChain,
ID3D10Device **pDevice
);
이렇게 되어있다... 음.. DX9때도 뭔가 복잡해서 그만뒀는데...
뭔가 이것도 복잡하지만 쉽게쉽게 파헤쳐보자..
뭐 그래픽어댑터는 NULL이 Default 값으로 쓰인다.
그래픽어댑터가 뜻하는건 그래픽카드를 말하는듯 싶다.
DriverType은 D3D10_DRIVER_TYPE_REFERENCE로 되어있는데 이것은
그래픽카드가 10을 지원하니 하드웨어를 사용하라.. 정도인거 같다.
다른값을 쓸 경우엔 소프트웨어로 돌릴수 있는듯한데 DX10이 쉐이더 4이상을 쓰려고
공부하는거니까.. 그냥 하드웨어로 하고 넘어가도록하자...
(사실 뒤지기가 귀찮다)
HMODULE Software는 코드의 핸들인데 뭐 그냥 그런게 있다고 알아두고 넘어가고
Flag는 디바이를 어떻게 사용할것인지에 대한것인데 그냥 디폴트인 0으로 놓고 쓰자
(자세한건 알아보기 귀찮아서...)
SDK버전은 이미 10으로 설치했으므로 D3D10_SDK_VERSION으로 하면된다.
이미 10.1을 라데온 그래픽카드에서 지원해 준다.
(그러나 10.1은 뭐 아직 10도 제대로 못하는데..-_-)
pSwapChainDesc은 그냥 새로 추가된 스왑체인에 관한 속성인듯하다.
ppSwapChain은 생성된 스왑체인의 속성을 받고
pDevice에선 디바이스의 속성을 받는듯 하다...
음.. 열심히 내용을 뒤지다보니...
어느 좋은 홈피를 찾았는데...
.....
연구실형의 홈페이지인듯하다...
이런..-_-
DX10에 관련된 좋은 내용들이 많으니...
(사실 위에꺼도 이리저리 뒤져보긴 했는데 거의 여기에 다 있어서...그냥 배꼈다)
젠장...
문제의 그 홈페이지 : http://duckii.egloos.com/
(Tutorial 01: Direct3D 10 Basics 중...)
DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory( &sd, sizeof(sd) );
sd.BufferCount = 1;
sd.BufferDesc.Width = 640;
sd.BufferDesc.Height = 480;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.OutputWindow = g_hWnd;
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
sd.Windowed = TRUE;
if( FAILED( D3D10CreateDeviceAndSwapChain( NULL, D3D10_DRIVER_TYPE_REFERENCE, NULL,
0, D3D10_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice ) ) )
{
return FALSE;
}
음.. 스왑체인.. XNA에서도 비슷한걸 본 기억이 있어서 MDSN을 뒤져보니
D3D10CreateDeviceAndSwapChain(
IDXGIAdapter *pAdapter,
D3D10_DRIVER_TYPE DriverType,
HMODULE Software,
UINT Flags,
UINT SDKVersion,
DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,
IDXGISwapChain **ppSwapChain,
ID3D10Device **pDevice
);
이렇게 되어있다... 음.. DX9때도 뭔가 복잡해서 그만뒀는데...
뭔가 이것도 복잡하지만 쉽게쉽게 파헤쳐보자..
뭐 그래픽어댑터는 NULL이 Default 값으로 쓰인다.
그래픽어댑터가 뜻하는건 그래픽카드를 말하는듯 싶다.
DriverType은 D3D10_DRIVER_TYPE_REFERENCE로 되어있는데 이것은
그래픽카드가 10을 지원하니 하드웨어를 사용하라.. 정도인거 같다.
다른값을 쓸 경우엔 소프트웨어로 돌릴수 있는듯한데 DX10이 쉐이더 4이상을 쓰려고
공부하는거니까.. 그냥 하드웨어로 하고 넘어가도록하자...
(사실 뒤지기가 귀찮다)
HMODULE Software는 코드의 핸들인데 뭐 그냥 그런게 있다고 알아두고 넘어가고
Flag는 디바이를 어떻게 사용할것인지에 대한것인데 그냥 디폴트인 0으로 놓고 쓰자
(자세한건 알아보기 귀찮아서...)
SDK버전은 이미 10으로 설치했으므로 D3D10_SDK_VERSION으로 하면된다.
이미 10.1을 라데온 그래픽카드에서 지원해 준다.
(그러나 10.1은 뭐 아직 10도 제대로 못하는데..-_-)
pSwapChainDesc은 그냥 새로 추가된 스왑체인에 관한 속성인듯하다.
ppSwapChain은 생성된 스왑체인의 속성을 받고
pDevice에선 디바이스의 속성을 받는듯 하다...
음.. 열심히 내용을 뒤지다보니...
어느 좋은 홈피를 찾았는데...
.....
연구실형의 홈페이지인듯하다...
이런..-_-
DX10에 관련된 좋은 내용들이 많으니...
(사실 위에꺼도 이리저리 뒤져보긴 했는데 거의 여기에 다 있어서...그냥 배꼈다)
젠장...
문제의 그 홈페이지 : http://duckii.egloos.com/
반응형