DirectX 5

5. Vertices_2)정점

2. Direct3D 정점Direct3D는 유연한 정점 포맷이라고 해서 프로그래머가 정점의 최적 정보만을 가질 수 있도록 그 형식을 설정할 수 있습니다.1) 1단계 : float x, y, z 좌표값2) 2단계 : float rhw (이미 변환된 정점에만 사용)3) 3단계 : 블랜딩 값4) 4단계 : 정점 법선5) 5단계 : 정점 포인트의 크기6) 6단계 : diffuse 값7) 7단계 : specular 색8) 1~8까지 텍스쳐 좌표쌍(u, v float 값)멤버 변수의 순서가 바뀌면 렌더링이 않되므로 순서를 지켜서 정의해야 합니다.정점의 구조체가 어떤 정보를 포함하는지에 대한 것은 아래의 값을 비트 OR연산하여 설정합니다.D3DFVF_DIFFUSE, D3DFVF_NORMAL, D3DFVF_SPECUL..

개발/Graphics 2014.10.17

5. Vertices_1)Vector

1. Vector- 벡터 구조체 D3DVECTOR구조체와 D3DXVECTOR3구조체를 제공, D3DXVECTOR3는 벡터를 연살할 수 있는 연산자 오버로딩이 제공됩니다.D3DVECTOR typedef struct D3DVECTOR { float x; float y; float z; } D3DVECTOR; D3DXVECTOR3 typedef struct D3DXVECTOR3 : public D3DVECTOR { public: D3DXVECTOR3() {}; D3DXVECTOR3( CONST FLOAT * ); D3DXVECTOR3( CONST D3DVECTOR& ); D3DXVECTOR3( CONST D3DXFLOAT16 * ); D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z ); ..

개발/Graphics 2014.10.17

4. DirectX 프레임워크(framework)

1. 프레임워크란? 프레임워크란 골격이라는 의미로 코드를 작성하기 위해 제공되는 틀을 말합니다. 2. 프레임워크 구조 코드는 크게 Direct3D셋업에 대한 클래스와 게임에 관한 코드로 구분할 수 있습니다.셋업클래스는 게임프로그래머에게 공통된 환경을 제공하고,게임 코드를 작성하는 클래스는 이 클래스를 상속하여 사용합니다. 게임 코드는 실제 게임과 관련된 내용만 들어갑니다. 3. 셋업클래스 생성 위 이미지와 같이 선택 후 클래스 파일을 하나 생성합니다. 그리고 다음과 같이 코딩합니다. 이 클래스는 전부 셋업과 해제에 관한 내용이며, InitD3D(), Render(), Cleanup()은 클래스의 멤버함수가 되고, g_pD3D변수와 g_pd3dDevice는 클래스의 멤버변수가 됩니다. InitD3d(), ..

개발/Graphics 2014.10.14

3. DirectX 기본환경 설정

1. 프로젝트 생성File-> 새 프로젝트 -> 'Win32 프로젝트' 선택 후 확인, 응용 프로그램 마법사에서 마침 선택합니다. 2. Win32 API 기본 코드 생성 - 엑셀레이터 코드 삭제 WIn32 API를 자동생성 코드로 생성하면 엑셀레이터 코드가 자동 생성됩니다. 엑셀레이터 코드는 단축키와 관련된 코드로, 다이렉트x에서는 사용되지 않습니다. 아래 노란색 영역을 지우고, 관련된 부분을 모두 삭제합니다.관련 코드를 모두 삭제하고, 실행시켜보면 다음과 같은 화면이 나옵니다. - 윈도우 핸들 g_hWnd 추가윈도우 핸들 g_hWnd를 전역변수로 추가한 후, InitInstance 함수를 다음과 같이 수정합니다.* Direct 3D환경의 셋업, 렌더링, 릴리즈 등 많은 곳에서 윈도우 핸들을 많이 사용하..

개발/Graphics 2014.10.14

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
반응형