개발 321

2. DirectX 설치, VisualStudio 2010 설정, 프로젝트 생성

1. SDK 다운로드아래의 링크에서 다이렉트x 다운(June 2010)다운로드 다운받은 뒤, 순서대로 설치 진행 2. Visual Studio 2010 설정 도구->옵션->'VC++ 디렉터리' 선택 시 아래의 창이 나온다.Visual 2008의 경우 VC++Directory를 옵션에서 통합으로 설정 할 수 있었다. 그러나 2010버전은 위와같은 화면이 나오고, 이제는 각 프로젝트마다 설정을 해주어야 한다고 한다. 그러나 통합으로 설정하는 방법이 있다.먼저 Win32 프로젝트를 생성 후(빈프로젝트), 솔루션 탐색기의 하단 부분에 '속성 관리자' 탭을 클릭한다. (속성관리자 탭이 없을 경우, 보기->다른 창-> '속성 관리자'를 선택하면 된다) '속성관리자' 창에서 위의 두개(Debug와 Release의 M..

개발/Graphics 2014.10.07

1. 3D 기초 용어

1. 3차원 좌표계(3D Coordinate System) -왼손 좌표계와 오른손 좌표계가 있다. D3D의 경우 기본적으로 왼손 좌표계를 기준으로 하고, OpenGL의 경우, 왼손과 오른손 좌표계를 선택하여 사용할 수 있다.2. 벡터(Vector) -가속도나 속도처럼 크기와 방향을 동시에 표현하는 숫자*스칼라 : 기압과 속력처럼 하나의 값으로 표시 가능한 숫자(방향x) 3. 정점(Vertex) -2차원이나 3차원 공간에서 위치(Position)를 나타내는 점(Point) 4. 변환(Transform) -가장 기본적인 변환에는 이동(Transition), 회전(Rotation), 크기(Scale) 변환이 있다. 이들은 모두 행렬로 표현된다.*이동과 회전만으로 이루어진 행렬을 아핀변환(Affine Trans..

개발/Graphics 2014.10.06

MFC 기초

MFC란?Microsoft Foundation Class의 약자로 윈도우 운영체제 환경에서 GUI 프로그램을 쉽고 빠르게 개발하기 위한 클래스 라이브러리입니다. 기본적으로 C++언어의 기본 문법을 알고 있어야 한다! MFC 내부구조 이해를 위한 예제File->New->Project, 'Win32프로젝트' 선택 '빈 프로젝트' 체크 후 마침'소스 파일' 마우스 우클릭->추가->새항목 'C++파일(.cpp)'선택 적당한 이름 입력 후 추가다음의 코드를 입력한다.//////////////////////////////////////////////////////// #include class CHelloApp : public CWinApp { public: virtual BOOL InitInstance(); };..

2_new2_예제

예제)메모리 해제가 제대로 되지 않은게 남았는지 자동으로 확인해주는 프로그램Operator new와 Operator delete 재정의 이용,int count = 0; //메모리 할당해준 객체 카운트 세는 변수 //할당한 객체의 파일명, 몇번째 라인인지, 주소, 크기를 저장 struct BLOCK { char file[256]; int line; void* addr; int size; }; BLOCK mem[10000]; // 할당한 메모리 정보를 관리할 배열 //operator new, operator delete 재정의 void* operator new( size_t sz, char* file, int line) { void* p = malloc(sz); strcpy(mem[count].file, f..

개발/C, C++ 2014.07.21

2_new1_new,operator new, operator delete

1. new의 정확한 동작방식1. operator new()라는 함수를 사용해서 메모리 할당2. (1)이 성공하고 객체라면 생성자 호출3. C의 메모리 주소를 해당 타입으로 캐스팅해서 리턴. 2. 생성자/소멸자를 호출하지 않고 메모리만 할당하는 방법은?Point* p = static_cast(operator new(sizeof(Point))); operator delete(p);위의 방법을 이용하면 생성자는 호출되지 않고 메모리만 할당되는 것을 알 수 있다. 3. operator new()를 재정의 해서 메모리 할당을 변경 가능하다(new 자체를 재정의 하는게 아니다) #include using namespace std; void* operator new( size_t sz) { cout

개발/C, C++ 2014.07.20
반응형