오랜만에 툴만들기 작업을 계속 해 볼까한다. (사실 다이렉트x 기본을 다시 하느라 툴 만들기가 좀 늦어진듯...)

툴을 만들려면, 일단 실제 툴에서 쓸 화면을 그려야 한다. 전에 포스팅에서도 말했지만, mfc에서는 화면에 보여주는 역할을 View 부분이 담당한다..

일단 예전의 툴 만들기의 기본뼈대 만들기는 다 하고 나서부터 진행을 하겠다.


일단 이 상태에서 추가를 해서... 새항목을 선택한다.


cpp 와 h 파일을 추가한다. 그냥 이제부터 쓸 Root 클래스가 될 것이므로, Root 라고 만들었다.


그리고 위와 같이 적어준다. Class도 만들고 헤더파일로는 윈도우, d3d 관련 헤더를 추가하고, 기타 d3d 변수와 디바이스 변수를 만든다. 함수도 위의 4개만 일단 만들어 둔다.. ( 나중에 계속 추가가 될 것이다. )

cpp로 가서 또 작업을 한다..


 그리고 아래와 같이 다이렉트x 초기화 하기 포스팅에 있는 것들 그대로 긁어와서 썻다. 단 변수명만 글로벌인 g_ 에서 멤버인 m_ 으로 바뀌었다..


이렇게 해제와 랜더도 추가해주자..


MainFrame의 헤더에 Root를 추가하자....
그리고 변수도 하나 선언해두자.. 그냥 변하게 m_gcRoot 라고 만들었다.


그 다음 분할창을 만들어 둔 곳에서, new를 하고,
Init을 한다. 그리고 hWnd 변수를 넣어준다. 이 곳에 들어가는 곳이 바로 분할창 중에서 View의 윈도우 핸들 값이다.


그리고 소멸자에서 해제도 꼭 해주자.


그리고 솔루션 탐색기 옆에 클래스 뷰에서 App을 클릭하고,

 

재정의 버튼을 클릭한다.

 

그리고 OnIdle 함수를 클릭한다. 이 함수의 역할이 우리가 윈도우 프로그램을 할 때 while을 돌면서, 메세지가 없을 때 else로 들어오는 것과 같은 역할을 한다.


그리고 꼭 아래의 OnIdle의 ICount를 0 으로 바꿔준다. 그래야 계속 실시간으로 그린다. 안그러면 메세지가 올 때만 실행이 된다.
OnIdle 함수에 위와 같이 넣어준다. Main을 참조해서 그 안에 있는 Root변수의 render()함수를 부른다. 그리고 컴파일하면..


녹색으로 채워진 directX 화면을 볼 수 있다.


그리고 Root의 render에 가서 빨강도 1.0f으로 채우면.


노란색으로 적용이 되는 것을 알 수 있다...

자.. 이제 준비가 되었으니, 차근차근 원하는 화면을 만들어보자..

Posted by 바람처럼..
|