프로그래밍
-
TransparentBlt 함수 관련프로그래밍/Windows API 2005. 6. 24. 05:35
TransparentBlt 함수는 BOOL TransparentBlt( HDChdcDest, // handle to destination DC intnXOriginDest, // x-coord of destination upper-left corner intnYOriginDest, // y-coord of destination upper-left corner intnWidthDest, // width of destination rectangle inthHeightDest, // height of destination rectangle HDChdcSrc, // handle to source DC intnXOriginSrc, // x-coord of source upper-left corner intnYOr..
-
CreateCompatibleDC, CreateCompatibleBitmap 함수 차이점.프로그래밍/Windows API 2005. 6. 24. 05:34
CreateCompatibleDC(HDC hdc) - hdc에 NULL 써줘도 된다. NULL 써주면 내부적으러 스크린 DC 얻어서 사용한다. GetDC(NULL)와 비슷한원리 CreateCompatibleBitmap(HDC hdc, int Widht, int Height) - hdc에 NULL 써주면 안된다!! ex) g_MemDC = CreateCompatibleDC(NULL); // ok g_hBitmap = CreateCompatibleBitmap(hdc, 1024, 768); // 에러 리턴 HDC hdc = GetDC(g_hWnd); g_hBitmap = CreateCompatibleBitmap(hdc, 1024, 768); // ok g_hOldBitmap = (HBITMAP)SelectOb..
-
hdc, MemDC 관련해서...프로그래밍/Windows API 2005. 6. 24. 05:34
MemDC(메모리DC)는 일반 hdc 보다 더 강력한 기능을 가지고 있다.. hBitmap 이 있을때 1. SelectObject(MemDC, hBitmap) - 이렇게 하면 메모리 DC가 비트맵 사이즈만큼 확장되면서 비트맵의 그림이 메모리DC에 그려진다. 2. SelectObject(hdc, hBitmap)- hBitmap를 SelectObejct은 메모리 DC만 가능하다. 옆과 같이 했을경우 아무일도 안일어난다. 그리고 동시에 두개의 메모리DC가 하나의 hBitmap을 SelectObject를 할수는 없다. Msdn내용 - Bitmaps can be selected for memory DCs only, and for only one DC at a time.
-
선행처리기 지시어프로그래밍/프로그래밍 관련 2005. 6. 24. 05:34
선행처리기 지시어선행처리기에 대해서는 1회때 배운적이 있고선행처리기 지시어중 #include에 대해서 2회때 이미 배우셨습니다.하지만 지시어에는 이것 외에도 몇가지가 더 있습니다.그럼 그것들에 대해서 알아보죠. (1) #define#define라는 지시어는 매크로 기능을 수행하는 지시어 입니다.기본적인 사용법은 다음과 같습니다. #define 매크로명 [값] 이렇게 해 두면 프로그램 내에서 매크로명과 같은 이름을 가진 단어들을모두 값으로 바꿔 줌니다. 그리고 여기서 값은 없어도 되죠.예를 들어 #define DATA 10 이렇게 해 주면 프로그램 내에 DATA라는 단어를 모두 10으로 바꿔 주게 됨니다.즉 프로그램에서 if(a==DATA) { . . }이렇게 쓴 것은 실재로는 if(a==10) { . ...
-
-
호출규약프로그래밍/프로그래밍 관련 2005. 6. 21. 19:27
%C8%A3%C3%E2%B1%D4%BE%E0HWP.zip 호출 규약 가.스택 이 절에서는 호출 규약(Calling Convention)에 대해 알아 본다. 호출 규약이란 함수를 호출하는 방식에 대한 일종의 약속인데 인수는 어떻게 전달하며 리턴값은 어떻게 반환하고 인수 전달을 위해 사용한 메모리는 누가 정리할 것인지 등을 규정한다. 당연히 호출하는 쪽과 호출되는 쪽의 약속이 맞아야 하며 어느 한쪽이 약속을 어길 경우 함수도 제대로 동작하지 않을 뿐더러 메모리가 엉망이 되기 때문에 프로그램은 실행을 계속할 수 없다.호출 규약은 컴파일러 내부에서 일어나는 일이기 때문에 이해하기 쉽지 않다. 사실 함수를 만들 수 있고 호출하는 방법을 알고 있고 내부 동작에 관심이 없다면 굳이 호출 규약을 알아야 하는 것은 아니..
-
카툰랜더링? - 김학규프로그래밍/프로그래밍 관련 2005. 6. 21. 19:26
이글은 김학규(neolith)님께서 http://www.lameproof.com/ 홈페이지에 작성하신 글을 옮겨 놓은 글입니다. 요즘 '카툰렌더' 방식에 대한 관심이 부쩍 높아지고 있습니다. 트루판타지라이브 온라인, 드래곤 퀘스트8, 다크크로니클2 등 외국게임과 천랑열전, 마비노기, 씰 온라인등 국산 게임들에도 카툰렌더링이 활발하게 쓰이고 있습니다. 우선 카툰렌더에 대한 정확한 정의를 해둘 필요가 있습니다. 카툰렌더링은 비사실적인 렌더링 방식(Non-photo realistic rendering = NPR 기법)중의 하나로써, 어떤 게임이 '카툰렌더링을 이용했다' 라고 말하려면 최소한 다음 2 가지 조건중 하나를 갖추어야 합니다 - 불연속적인 쉐이딩 표현 - 실루엣 외곽선의 묘사 다크 크로니클2 나 드래..