티스토리 뷰

내년에 기능경기대회에 나가기 위해서 Directx를 공부하던참에 책으로 보면서 코드를 따라치는것 보단 직접 만들어 보는게 좋지 않을까 싶어서 지금까지 본 내용으로 간단한 프레임워크를 제작 해 보기로 하였습니다.

원랜 Direct3D책... 이긴 하였지만. 2D프레임워크를 만들어보고 그렇게 확장하는 형식으로 만들어 보려고 하기에.. 스프라이트 클래스를 만들어서 현재 적용시킨 이미지 입니다.


현재의 클래스 구조 입니다만.

Application이라는 싱글톤 클래스로 입력과, 그래픽 출력을 관리합니다. 즉. 윈도우 부분을 관리하고 있습니다.

InputManeger는 입력관련에 대해서 관리하고 있습니다. 그러나 현재는 비어 있는 상태

GraphicManeger는 그래픽에 관련된 내용들을 관리합니다.

DirectxClass는 Directx의 인터페이스, 디바이스들을 관리하고 있습니다.

Application을 싱글톤 클래스로 만들어서 어디든지 접근하여서 화면의 크기, 입력, DirectDevice등을 어디서든 접근할 수 있게 하였습니다.


Node는 각각의 실제 사용되는 클래스 (ex. Sprite,Scene 차후에 추가될 Mesh라던가.. 등등)들의 부모 클래스가 될 것 이므로, 기본적인 기능들인 계층구조(부모와 자식 구조)를 완벽하지는 않지만 사용 할 수 있게 하고. 공통적으로 사용될 변수, 함수, 그리고 각각의 클래스마다 그리는 형식이 다르므로 Draw라는 함수를 순수 가상 함수로 두어서 자식 클래스마다 따로 구현 될 수 있도록 하였습니다.

일반적으로 사용해서 게임을 만들때에는 Scene이라는 클래스를 만들어서 Scene->AddChild(Node)라는 함수를 이용해서 자식으로 넣은후 Application싱글톤에 다가 만든 Scene을 넣어 화면에 출력하는 형식을 취할 것 입니다.


Utils라는 스태틱 클래스로 자주 사용하는 함수들을 스태틱 함수로 두어 Utils::<함수명> 으로 사용 할 수 있게 합니다.

'3D 프로그래밍 > Direct3D' 카테고리의 다른 글

DXUT 사용 하는 방법( Directx 9,10)  (1) 2017.04.14
DAE 파서(Collada Format) 제작  (0) 2017.03.05
프레임워크 -2  (0) 2016.12.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함