- 2004년 7월 29일
현재의 진척도는 MFC View에다가 랜더링을 한다는 정도?
하다가 삽질한점은 RPG책에서 구현한 마우스 인풋이 MFC에서 안먹힌다는 점과 현재 랜더링을 APP::OnIdle 에서 하고 있는데 가만히 있으면 이게 호출이 안된다는 점이다. 마우스 인풋은 View의 마우스 이벤트로 처리 (그리고 기타 UI쪽에서 개삽질… 이제 제일 짜증난다!)
- 2004년 7월 31일
이제는 조금 맵에디터 같은 분위기가 쪼오오오금 풍긴다. 여러개의 텍스쳐를 샥샥 랜더링이 가능하고 텍스쳐의 추가도 자유롭다. 당근 삭제도 자유로워야 하지만 지금은 에러가 있어서 한번이라도 사용했던 텍스쳐는 삭제할 시점에 사용한 타일이 다른 텍스쳐로 교체하더라도 에러가 꽃피게 된다. 음 어째서 -_-;;;
CIndexBufferManager |
CHeightMapTileManager |
CHeightMapTextureManager |
위의 세가지 클래스들의 문제점은 서로 간의 인터페이스가 너무 난잡하다는 점. 3개 정도는 괜찮겠지 하고 그냥 짰는데 막상 짜다보니 좀 지지분한 생각이 들었다. CHeightMapTileManager , CHeightMapTextureManager 를 하나로 합쳐서 관리하는 하는 클래스를 만드는게 좋을지도 모르겠다.
- 2004년 7월 31일 오후 9시 15분전
후아… 버그를 잡았다. 상당히 짜증나는 버그 였지만 원인은 내가 호출을 안해줬을 뿐이었다. 인덱스버퍼매니져의 인덱스 버퍼 재구성은 하나의 플래그를 주어 그 플래그가 TRUE이 되면 한번 재구성하고 다시 FALSE로 바꿔놓는 방식으로 바꿨놨다. 매번 하이트맵의 랜더링마다 그 플래그의 값에 따라 함수 호출을 결정하므로 어디서든 요 플래그를 TRUE로 하면 재구성이 된다. 즉 텍스쳐를 삭제할때 재구성하는 방식.. 이제는 브러시 기능을 구현하면… 뭐 고저차자체는 간단하지 않을까? 둥글둥글하게 고저차를 정리하기 위해서는 곡면함수 이런거를 알아야 겠지만…
- 2004년 8월 20일 ‘
너무 오랜만의 업데이트… 그동안 열심히 구현하고 싶었지만 여러가지 다른 사정이 겹쳐서 근 20일간 스크린샷을 못올리다니… 사실 내부적으로 구현은 했지만 외부적으로 보일게 별로 없어서 안한것도 있다. 그나저나 하이트맵을 구현하기 시작했을때 부터 한달 후에 지금 이정도면 꽤 열심히 한것 같기도 하고… 처음 10일간 한게 이후 20일동안 한것보도 많은것 같아서 아쉽기도 하고,…
이제 구현할건 둥글게 지형 변화를 비롯한 “지형변화 부분” 파일 저장 (맵과 타일셋을 따로) 그리고…짜잘한 버그들…
지금 어째서 인지 맵이 반투명 하게 되는 부분이 있는데 그 이유를 모르겠다 -_-;;;;;
흠 스크린샷의 우측하단 부분에 푸르스름한것이 브러쉬!
- 2004년 9월 즈음
사실 지금 정리하고 있는 시점이 2005년 4월 말이라 -_-; 기억이 안난다.
일단 8월달 과의 가장큰 차이점은 지형에 변화를 줄때 둥글둥글하게 변화를 준다는것. 사실 뭐 거창한 곡면 함수 이런게 필요할줄 알았지만 그냥 2차함수로 해결했다. X축으로 한번 적용해주고 Y축으로 한번 적용해주면 적당하게 둥글둥글한 지형변환 효과를 줄수 있다.
일단은 여기서 하이트맵 에디터는 대충 마무리를 지었다. 더 추가하기 위해서는 최적화 코드를 넣어야 하고 현재 구조가 별로 맘에도 안들고. 후…지금 당장 여건이 이걸 붙잡고 있기에 허락하지도 않고. 영천이형은 이것 보다는 일단 맥스익스포터와 그거 랜더러를 구현해 보라고 하셔서 나중에 다시 공부하게 된다면 그쪽으로 생각하고 있다.
2 소스 및 실행파일 #
실행파일
실행에 필요한 DLL이 포함되어 있지 않다 -_-; 비주얼스튜디오 6.0을 깔도록…..