본문 바로가기

directx5

회전하는 입방체 만들기 #include "d3dUtility.h" // 장치를 위한 전역 변수 생성 IDirect3DDevice9* Device=0; // 화면의 해상도를 정의할 상수 전역 변수 인스턴스 const int Width = 800; const int Height = 600; // 버텍스 버퍼와 인덱스 버퍼를 저장할 전역 변수 인스턴스 생성 IDirect3DVertexBuffer9* VB = 0; IDirect3DIndexBuffer9* IB = 0; // 커스텀 버텍스 포맷을 만들기 위한 구조체 struct Vertex { Vertex(){} // 버텍스의 위치 정보만을 보관 Vertex(float x, float y, float z) { _x=x; _y=y; _z=z; } float _x, _y, _z; stat.. 2011. 11. 9.
Triangle 그리기 #include "d3dUtility.h" // 장치를 위한 전역 변수 생성 IDirect3DDevice9* Device=0; // 화면의 해상도를 정의할 상수 전역 변수 인스턴스 const int Width = 640; const int Height = 480; // 버텍스 버퍼를 저장할 전역 변수 인스턴스 생성 IDirect3DVertexBuffer9* Triangle = 0; // 커스텀 버텍스 포맷을 만들기 위한 구조체 struct Vertex { Vertex(){} // 버텍스의 위치 정보만을 보관 Vertex(float x, float y, float z) { _x=x; _y=y; _z=z; } float _x, _y, _z; static const DWORD FVF; }; // 구조체의 유연.. 2011. 11. 9.
DirectX 기본 코드 구조. // D3D 초기화를 위해 준비한 헤더를 포함 #include "d3dUtility.h" // 장치를 위한 전역 변수를 인스턴스화 IDirect3DDevice9* Device = 0; // 프레임웍 함수를 구현 (기본구조 : Setup, Cleanup, Display) bool Setup() { return true; } void Cleanup() { } bool Display(float timeDelta) { // 후면 버퍼를 소거하고 깊이/스텐실 버퍼를 각각 검은색과 1.0으로 초기화하는 Clear 메서드를 호출. if( Device ) { // 첫번째 인자 : pRects 배열 내의 사각형의 수 // 두번째 인자 : 소거하려는 화면 사각형의 배열, 표면의 특정 영역만을 소거할 수 있도록 해준다. /.. 2011. 11. 9.
Direct3D 초기화를 위한 예제 준비 (구현) #include "d3dUtility.h" // Direct3D 초기화 메서드 bool d3d::InitD3D( HINSTANCE hInstance, int width, int height, bool windowed, D3DDEVTYPE deviceType, IDirect3DDevice9** device) { // 메인 애플리케이션 생성 WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)d3d::WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(0, IDI_APPLICATION); wc.hCursor = L.. 2011. 11. 9.