이놈의 멈추지 않는 지름신... 무작정 산게 아닌 필요해서 산 것이긴 하지만.. 도서관에서 빌려봐도 됐을건데.. 일단 사버렸다 -ㅅ-; 이놈은 또 언제 다 읽니.. 올해 들어서 산 책이 대체 몇권인게야;

이번에 산 책은 Direct3D 공부를 위한 책!. 3D쪽은 손 안댈것 같았는데.. 나름 재밌을 것 같아서; 그리고 왠지 필요할 것 같아서.. 일단 구입을 했는데. Part 1. 수학.....을 보는순간.. 책을 덮어버리고 아직 펴지 않고 있다.. (중,고등학교때만 해도 수학이 가장 재밌고 자신있는 학문이었는데... 언제부터 수학을 이래 기피하게 된거지;;)

그나저나 책 가격을 쉽게 비교해주는 멋진 사이트가 있어서 제일 싼 곳에서 살 수 있었다!

예전엔 YPBook 을 이용했는데.. 왠지 요새 제대로 검색을 안해주는 것 같아서.. 네입어 검색을 해보니 괜찮은 사이트가 걸리는 것이 아닌가?!

그곳은 바로 노란북! 왜 노란북일까?;; 책 제목 혹은 ISBN 번호를 입력하면 바로 가격을 비교해준다. 물론! 그냥 책 가격 뿐 아니라 그에 따라가는 적립금과 배송료 까지 도!

요새 책을 잘 지르는 나로서는 이 얼마나 고마운 사이트인가?.. 예전에 힘들여 여러 사이트를 돌아다니면서 가격 비교를 하던 기억이 난다..

그나저나.. 이러니 오프라인 서점들이 하나 둘 문을 닫지; 가격도 싸고; 책한권도 무료배송인 곳도 많고; 요새 집밖을 나가는 것도 귀찮아 하는 사람들로서는 배송이라는 그 오묘한 세계에 빠져 오프라인 서점에 갈 생각은 전혀 안하게 되는 것 같단 말이지...

오프라인 서점은 미안하지만, 역시 인터넷 서점이 있어서 감사~!

DirectX로 화면을 열심히 그리다 보면..

Alt+Tab 이나 전체화면에서 윈도우로,, 혹은 윈도우에서 전체화면으로 변경하면

디바이스를 잃어버리는 경우가 생긴다.;

그럼 까만 화면을 열심히 그리고 있겠지 ;ㅁ;

혹은..

윈도우 모드에서 화면의 크기를 변경시키면 그 상태 그대로 찌그러져버리고 만다..

아; 이 얼마나 슬픈 일인가?;;

다행히 이런 일들엔 해결 방법이 존재했다;;

HRESULT Reset()
{
   // 화면 사이즈가 변하면........
   HRESULT hr = E_FAIL;
   if(g_pD3D)
   {
       D3DPRESENT_PARAMETERS d3dpp;

       ZeroMemory( &d3dpp, sizeof(d3dpp) );
       D3DDISPLAYMODE pdd;
       if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &pdd)))
           return hr;

       d3dpp.Windowed = true; // 창모드이면.
       // Param 설정은 자기 입맛에 맞게~ ;ㅁ;
       d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
       d3dpp.BackBufferFormat = pdd.Format;
       ShutdownSprite(); // sprite 객체를 쓰면.. 먼저 릴리즈 시키자..
       hr = g_pd3dDevice->Reset(&d3dpp);
       InitSprite(); // 다시 만들어 주는거 잊지말고.
   }
   return hr;
}

대략 이러한 방법으로 해결 할 수 있다.

만약 당신이 sprite를 쓴다면, 그리고 POOL 옵션이 D3DPOOL_MANAGED 가 아니라면,

일일이 sprite를 해체 시키고, 다시 로드해 주는 작업이 필요할 것이다.

-0-;

DX 넘 어려워~;

위 코드는 DX8.1에서 확인하였음;
 «이전 1  다음»