높이 맵 제작 툴 만들기(2)

Dev.Write 2010. 1. 20. 21:38 Posted by zetz

아무리 MFC 로 UI에 신경을 써도 내가 만든 화면은 이쁘지 않다.

그리고 UI 꾸미는 것은 항상 생각외로 시간이 많이 소모된다.

 

 

우선 결과부터 소개하자면 아래와 같다.

 

우선 목표했던 특정 한 점의 높이를 수정하는 기능은 완료하였다.

추가적으로 간단히 Rendering State 를 변경하는 기능을 넣어 놓았다.

 

 

최초 기획한 기능은 추가 되었지만 역시 완성해 놓고 보니 …허접하기 그지 없다.

 

이번에 코딩하면서 익힌내용은

  1. 간단한 카메라 설정하는 법
    쿼터니안을 사용한 아크볼을 써야 올바른 카메라라 하겠지만, 아직 그 쪽 부분은 이해가 부족하므로 (써먹을순 있다. 하지만 이해가 부족하다) 간단히 축 기준으로 Eye Position 을 변경하는 것으로 만족했다.
  2. DX 에는 LPD3DXMESH 를 위한 노말 계산 함수가 존재한다.

    기존에는 순수하게 버텍스당 노말을 직접 계산한 후 메시 생성할 때 넣어 줬는데, 알고보니 DX에는 함수가 존재한다. (-_-;;; 이걸 알았을때의 그 황당함이란;; ) 인덱스로 골머리 썩이다가 알고 나니 오히려 허탈해졌다.

     

  3. Picking

    DX Sample에 픽킹 예제가 있다. 이 예제를 참조하면 그리 어렵지 않게 작성할 수 있을 것이다.

    ( 생각 외로 어렵지 않았다. 소스 길이도 짧고 .. 스크린상의 2차원 좌표를 3D 공간상의 3차원 좌표로 매핑하는 것!! )

  4. 기존에 만들었던 CD3DX9Wnd 클래스를 사용한 MFC Custom Control 사용법

    많이 쓰니 익숙해진 듯 하다. 역시 상속을 통한 클래스 구현이 가장 보기 깔끔하다.

     

이렇게 정리하고 보니 크게 많을 것을 익히지도 않았는데 시간은 꽤 많이 소모되었다. 아마도 노말 계산을 위해 들였던 노력 때문일 것이다. 허무하게 함수 하나로 해결은 보았지만 영 찜찜해서 자꾸 손보았다.

 

마지막으로… 역시 내 실력은 아직도 미비한듯, 중간중간 샛길로 엄청 빠짐;;;

집중하자!!! 집중!!!!!

 

 

 

/* 비트맵 파일로 저장하는 기능 아직 미완성,

"실시간 3D지형 엔진 " 책 참조하여 지형 생성 알고리즘 적용해 볼 것!

Up&Down Brush 적용 범위 넓히는 기능 필요 할 듯, 예를 들어 현재 픽킹된 한 점에 대한 높이만 변경하는데 테리안이 커질 경우 매우 들쑥날쑥해짐 , 주변 점들에게 부드러운 비율 적용하면 좋을 듯 */

'Dev.Write' 카테고리의 다른 글

[Crypto] RSA Example  (0) 2010.05.17
My Simple Camera  (0) 2010.02.14
높이 맵 제작 툴 만들기 (1)  (0) 2010.01.18
MFC 기반의 Direct3DX Window  (0) 2010.01.15
MFC Custom_Control 연습  (0) 2010.01.15