본문 바로가기

프로그래밍/맵툴(추가포트폴리오준비)

[맵툴] 7일차 그림1은 Plane평면 3x3을 생성한 후의 화면이다. 어떤 값을 가지는 셀이던 생성시에 버텍스와 육면체가 하나의 쌍이 되어져 그려진다 보면된다. 버텍스버퍼에 의해 정점값이 저장될 때, 육면체가 그려질 정보도 넣는다고 보면된다. 육면체가 있을 위치, 육면체 자체의 바운드박스, 육면체를 담을 LPD3DXMESH형의 데이터를 구조체로 담아 STL의 벡터를 이용했다.ㅡㅡ; (개인적으로 무리없다면 stl을 선호하기에...) 그림2는 그림1상태에서 육면체를 픽킹하면 그 육면체위치에 상주하고있는 버텍스와 연계되어... 1차적으로 육면체가 올라가고, 2차적으로 적절하게나마 정점값이 저장된 것과 육면체의 위치가 있는 데이터를 매칭하여 해당 정점을 올리거나 내려준다. 더보기
[맵툴] 6일차. 픽킹적용 및 픽킹으로 인한 지형 버텍스y축값도 올려봤다. 거의 샘플의 개념으로 접근이다. 곧할일.. 버텍스 0번을 보면 작은 점이 표시되어있는데, 이것은 육각형메쉬. 즉 정점위에 육각형메쉬를 올려놓았는데, 이 육각형메쉬는 정점과 하나의 짝을 이루어 피킹이 된 메쉬로 하여금 그 짝이되는 정점은 y축의 변화를 갖게 된다. y축의 변화를 갖는 정점에 의해서 메쉬도 정점따라 올라가야겠다. 고려사항 : 셀의갯수 (CX+1)*(CZ+1)의 버텍스를 갖는만큼, 이만큼의 메쉬도 가져야한다. 어짜피 이 지형툴은 지형정보를 저장하는데 목적을 둔다. 즉 저장부분에대해서는 정점정보가 중요하다. 정점위의 메쉬는 관계가 없다. 그렇기에 링크드리스트로 접근하건 stl로 접근하건 큰 문제가 없다고본다. 링크드리스트 : 가볍다. 신중.. 더보기
[맵툴] 5일차. Plane를 자기가 정의한 수치에 맞게끔 생성하게 하였다. 이제 픽킹적용이다. 더보기
[맵툴] 띠두르기로 그림을 그리면서 나름대로 정규화식을 만들기 D3DPT_TRIANGLESTRIP 의 띠두르기로 Plane를 만든다고 할 때, 가장 기본적인 1 x 1 형태의 사각형 , 버텍스 수는 4개 , 인덱스버퍼를 적용해서 0-1 , 2-3 을 셋팅해서 2개의 값을 가진다. 그다음 2 x 2 형태의 사각형, 버텍스 수는 9개, 인덱스버퍼 적용해서 0-1, 3-4, 6-7, 1-2, 4-5, 7-8 을 셋팅해서 6개의 값을 가진다. 다만 6-7과 1-2 사이에 무효화 삼각형 영역이 있기때문에 8개의 삼각형이 존재하겠지만, 그 무효화 삼각형영역을 고려해서 삼각형이 10개라고 기입을 해야한다. 즉 DrawIndexedPrimitive(D3DPT_TRIANGLESTRIP, 0,0, 9 /*버텍스수*/,0, 10/*삼각형수*/); 그 밖에 3x3 , 4x4, 3x2, .. 더보기
[맵툴] 4일차. (모든걸 재수정 -> Plane샘플제작) 현재 1차 목표는 Plane형태로 판을 셋팅한다음, 픽킹을 적용한다. 그래서 픽킹된 정점과 그주변의 높낮이를 변형한다. 그런데 현재 초반부.. 이과정에서.. Plane형태를 만든다 할 때, "많은 예제들을 토대로 쉽게 생성할 수 있을것이다." 라는 생각부터 틀렸던 것 같다. 직접 로우단계부터 손대볼 필요가 있다. 엔진이나 뭐 구현이된 클래스/함수가 그립겠지만 허당 프로그래머로 남을 수야 없지...다시 리바이벌을 해본다ㅋ 위의 2 * 2의 Plane가 있다. 길이나 뭐그런건 다 1.0f 로 해놨고, 버텍스버퍼로 정점정보(FVF를 xyz하고 디퓨즈상태만) 셋팅해놨고 순서는 다음과 같다. 각 위치에 시계방향두르기로 0,1,2 2,1,3 2,3,4 4,3,5 1,6,3 3,6,7 3,7,5 5,7,8 8개의 삼.. 더보기
[맵툴] 3일차. 기본적으로 화면에 맵을 띄워보기까진했다만, 이제는 픽킹에 의해 맵을 수정하는 방식에 대해 생각해볼차례다. 더보기
[맵툴] 2일차 코드샘플러의 x,y,z좌표를 어느정도 감지하게끔 라인을 그리는 예제를 참고하여 라인을 그렸고, 적절하게 키보드와 마우스의 컨트롤로 뷰행렬이 이동하고 회전하게끔 하는 카메라기능도 넣었다. 다음은 여기에 가장 간단한 지형을 넣어보고 향후 어떻게할지 다시 방향을 잡아야겠다. 더보기
[맵툴] 1일차. 아~ MFC도 아~~주 예전에 몇번해본것만 기억나고, VS2005에서도 처음이고 다이얼로그바도 띄우는게... 어쨋든 다~ 처음인지라 어색했지만 할수록 익숙해지는거같다. 구현되었다고 느낀거. MFC, DirectX9.0 화면띄우기, 다이얼로그바띄우기, 다이얼로그바 내의 버튼활성화시키기 휴~~ 책보고 인터넷보면서 셋팅했다. 뭐 어쨋든 되긴된거다. 다음단계로는.. 화면에 간단한 메쉬를 뛰우고, 카메라조작정도로 가능하게해야 되겠다. 더보기
메인화면 지형.. 그냥 간단한 게임과 더불어 포트폴리오의 목적을 두고 작업하는것이다. IrrEdit를 통해서 맵을 구현했고, 대략적인 설명은 플레이어는 저 펜스안에서 시작하고 뒤쪽 배치될 자신의 집을 기준으로 부유한지, 가난한지 표현되겠고 자신의 부를 축척하기위해서 좌측길은 일하러 돈벌러가는거 즉 농장일 우측길을 벌은 돈으로 무기를 사고 무기배치하고 즉, 타워디펜스형의 게임이 되게끔한다. 이런목적을 두고 일단 FPS관련 모델링자료를 긁어모아야겠다. 더보기
대략적으로 3 ~ 4주간 보류!! irrlicht쪽으로 신경을쓰기위해서 개발자포럼에서 공개용 엔진인 일리히트(irrlicht)를 많이 논하길래 한번 건드려봤다. 이름이 괘상한것이 일리칱? 여하튼 sdk셋팅하고 샘플예제도 보고, 번역강좌문서도 몇개봤지만.. 솔직히 이런게 엔진이라는건가? 쉽다기보다 짧은 한줄에 모든것이 적용되니깐.. 정말 놀랐다. 그리고 신세계에 온느낌? 아직 많은 부분을 봤다고 이리 설치는건 아니지만... 엔진을 다뤄본다는 것자체도 나쁘지않은것같다. 더보기