본문 바로가기

Programming/DirectX

색상 입히기 다이렉트x 색상 함수로는 DWORD로 정의된 D3DCOLOR가 있다.D3DCOLOR은 네개의 8bit 로 나누어 각각의 8bit당 색상의 진하기를 저장한다.( 알파값 | 빨강값 | 초록값 | 파랑값 ) 으로 구성되어진다. D3DXCOLOR_ARGB( 255, 255, 0, 0 ); // A R G BD3DXCOLOR_XRGB( 255, 0, 0 ); // 알파값을 넣을 필요 없다. 이는 16진수로 간단히 표현할 수 있는데 다음과 같이 설정할 수 있다.0x ff ff ff ff 첫번째 0x는 16진수를 뜻한다. 첫번째 ff는 알파값, 두번째 ff는 빨강값, 두번째 ff는 초록값, 세번째 ff는 파랑값을 뜻한다.즉 ARGB이다. 색상별 표현은 아래와 같다.0xffff0000 = 빨강0xff00ff00 = 초.. 더보기
인덱스 버퍼(Index Buffer) / 버텍스 버퍼(Vertex Buffer) Dxd9를 사용하며 제가 용책이라 불리는 책을 공부한 내용입니다. 소스코드는 제일 밑에 있습니다.쉐이더를 사용하지 않은 버전입니다. 쉐이더를 통한 버전은 나중에 다시 올리겠습니다. 버텍스 버퍼 = 점들의 위치를 저장한 것이라 보면 된다. ( 0, 0, 0 ) ( 1, 1, 0 ) 같은 버텍스를 가지고 있는 주머니인 것이다. 인덱스 버퍼 = 말 그대로 인덱스 데이터를 보관하는 주머니다. 인덱스를 사용하는 이유 - 인덱스를 사용하지 않고 그리려면 중복되는 점도 또 저장해 줘야 한다. 하지만 인덱스를 사용하면 ( 1, 0. 2 ) 같은 버텍스를 저장하는 대신 몇번째 점 인지만 숫자 하나 써주면 되기 때문에 효율적이다.※ 인덱스 순서는 되도록 시계방향으로 하도록 하자. - 컬모드로 매쉬의 앞 뒤를 구분할때 시계.. 더보기
DirectX Text 출력 클래스 다이렉트x로 텍스트를 출력하는게 귀찮아서 클래스로 만들어놓고 디버그용 텍스트출력 매니저로 사용했던 소스코드 입니다. cText.h 파일#pragma once class cText { private: staticcText*TextInst; ID3DXFont*m_pFont; intm_nMax_X; intm_nMax_Y; cText(void); public: ~cText(void); voidInit(void); void Print( LPCSTR cSTR, int nX/*문자열의 왼쪽좌표*/ = 0, int nY/*문자열의 윗쪽좌표*/ = 0, D3DXCOLOR ARGB = 0xFFFFFFFF ); staticcText*GetInst(void); voidFreeInst(void); }; // 사용법 //TCHA.. 더보기
기본 Winmain.cpp 다이렉트x 초기화 포함 #include #include #pragmacomment ( lib, "d3d9.lib" ) #pragma comment ( lib, "d3dx9.lib" ) #pragma comment ( lib, "winmm.lib" ) //사용자 추가 전역 변수 intActiveFlage=TRUE;// 반복 체크 LPDIRECT3D9pDX=NULL;// dx객체 LPDIRECT3DDEVICE9pDevice=NULL;// dx디바이스 D3DPRESENT_PARAMETERSstParam;// 파라메터 구조체 // 사용자 추가 핸들 // 콜백 함수 LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); // 다이렉트x 초기화 VOIDDevice_Init(INTWIDTH, IN.. 더보기