본문 바로가기

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

15. 현재까지 진향된 중간점검 동영상 읔 벌써 15번째 글이다. 대략 하나의 글마다 하루작업에 대한 결과를 정리한 글이라 보면 되겠다. 게다가 어느날은 6시간이상 어느날은 2시간정도인데... 슬슬 셰이더라는 걸 적용하고 캐릭터도 가상시뮬레이션의 역할로 적용해야하고.. 할게많다. 대략적인 피킹에 의한 높이변경, 피킹에 의한 텍스쳐 스플래팅적용 음..... 오늘에서야 텍스쳐 스플래팅을 적용시켰는데.. 문제는 알파맵도 같이 렌더시에 색깔 섞는 셋텍스텨스테이지관련된 연산에 대해 디테일한 방법은 잘 모른다. 관련 예제나 문서를 봐서 적용했다만, 그대로 했는데도 무엇이 문제였는지.. 다만 그 관련 구조체를 이것저것넣으면서 적용하게 되었는데.. 말 그대로 지지고볶고 지금은 잘된다고 보여지지만, 음... 오마주 삼아 따라 만들 라이드엔진은.... 최소 2.. 더보기
14 아직하고있는중... 텍스쳐 스플래팅적용 음..... 이제 마무리 추가해야할것! 브러쉬 거리에 따른 스므스효과 강제적으로 미리설정해놨던 알파맵이적용된 텍스쳐 mfc적으로 통제가능케하기 위한 mfc인터페이스추가 알파맵의 저장가능 다른 예외적인 것이 있나 확인 아흠.......무료해 ==============아래는 오늘 잠자기전 비몽사몽했을때의 글이므로 다시 ================ 많은 예제와 설명자료를 반복숙달하면서 본듯하다. 왜~ 안될까 안돌까하다가 셋렌더스테이트관련 변수를 넣었는데.....아....졸리다. 일단은 거의 기본적인 샘플이 적용되었고, 브러쉬 스무스한 개념과 더불어 텍스쳐관리 mfc탭컨트롤인터페이스를 좀 추가해서 텍스쳐도 추가하고 더군다나 저 1x1의 셀크기를 벗어나면 좀 계산이 잘못되었는데.. 일단은 자야겠다. 오늘은 큰 .. 더보기
분할창 추가에 대해서 시간을 허비 ㅠㅠ 맵툴에서 화면에 보여주는 것과 더불어 중요한것은 제어 그리고 어떻게 제어할지 인터페이스인데.. 그 부분에 대해서 최초 MFC환경을 셋팅할때 분할창을 가능여부를 묻는데 그것을 그냥 넘겨버리고 시작하였으니.... 다시 새 프로젝트로 전에 했던 자료들을 그대로 작성했다. ㅠㅠ 어쨋든 클래스형태는 갖추었고.. 큰 우려는 없었다........ 고 생각했는데.... 정말 처음 겪는 희안한일! 우측 폼뷰에서 클릭시 에러가 뜬다. 다만 리소스뷰에서 폼뷰의 크기에 따라 에러가 나고 안나고가 생기는데...... 폼뷰의 세로사이즈가 클때?는 에러를..... 폼뷰의 세로사이즈가 작을때?는 문제없이 잘된다;; 환장할 노릇이다. ============================ 급해서 해결....... F5디버그모드로 알아본결.. 더보기
13. 브러쉬 그리기 및 지형높이측정 브러쉬 그리기는 xyz좌표가 표시되게 했던 첫번째 작업처럼 버텍스버퍼를 이용하였다. 즉 좌표와 디퓨즈값만 들어간 정점정보정도의 데이터를 토대로 그려주었는데, 머리가 나빠서 여기서부터 종이에 간략히 그려가면서 했다. 과정은 그리 어렵지않았다. 그냥 크게잡아 90도로 90도일때, 180도일때, 270도일때, 360도일때... 이렇게 생각했던것이 x는 사인곡선을 닮은 값이고, z는 코사인곡선을 닮았구나~ 요정도로 알고 그려주면 큰 문제는 없다. 그래서 저런 브러쉬 형태의 그림이 나오게 된다. 각 정점당 그리기방식은 D3DPT_LINESTRIP형태로 하였다. 좌측 상단 붉은 숫자인 전작업에서 매번 마우스움직임에대해 픽킹처리 결과값이 나오게끔 하였는데, 그 위치를 토대로 일단 x,z를 잡아서 지형위 높이값을 추출.. 더보기
12. 픽킹처리의 높낮이 체킹 설명 : 향후 브러쉬를 적용하기위해서 마우스의 이동에 따라 픽킹관련하여 마우스 움직임마다 2차원 마우스의 위치에따라 3차원 마우스의 변형을 통해 지형의 위치+높낮이를 알필요가 있다. 그 위치를 알아야 브러쉬의 위치를 그려줄수 있으니말이다. 이제 브러쉬를 표현하면 되겠다. 그림설명 : 좌측 상단 붉은 텍스트는 현 윈도우 좌표 및 픽킹적용 좌표를 출력한다. 높낮이를 변형시킨 곳과 더불어 원점거리쪽에서 먼곳까지 마우스를 훑어본결과 결과값은 잘맞아떨어졌다. 느낀점 : 이 작업전부터 Plane(혹은 하이트맵불러오기)에 마우스 픽킹에 의해 높낮이를 변형하는 것을 해보았다. 사실 픽킹처리에 대해서 내 머리가 안좋은건지 모르겠지만, 정말 책이나 각종 블로그의 내용을 참고하여서 그것을 토대로 쉽게 픽킹 처리가 가능하나,.. 더보기
[맵툴] 11일차? 그동안 어설프게 토익공부를 했고, 결과도 안좋은지라... 시간도까먹고 하던것도 못했고 참 안타까웠으나, 하던걸 계속 이어해야한다는 생각에 다시 프로그래밍을 하였다. 오늘도 작업시간은 짧았지만 나름 진전이 보였기에 기분은 나쁘지않다. 최초의 화면, 일단 텍스쳐는 배제시켰고, 임시의 조명을 달았다. 메뉴에서 텍스쳐를 선택하면 텍스쳐가 저장되는 방식으로다가 담을 예정이기때문이다. 이제부터 와이어프레임으로 보겠다. 새로만들기 크기 35x35사이즈의 plane을 생성하고, 정점을 누르면 정점수정이 된다. 다음목표로는 브러쉬 형태를 삼아서 높이를 조율하는 방법으로 수정될것이다. 그동안 문제점이었던 화면 사이즈를 수정하였을 때 픽킹도 화면사이즈에 변화되어 수정이 되어야했다. 이부분에 대해서 아쉽지만, 디바이스 리셋을.. 더보기
[맵툴] 11일차 조명샘플추가 대략적으로 몇일간 텍스쳐와 조명을 집중적으로 다루게 되겠다. 더보기
[맵툴] 10일차분 재수정 10일차 문제제기과정중 띠두르기방식(트라이앵글스트립)을 포기 삼각형리스트로 재정리 아~~ 다시금 인덱스버퍼 for문하고 나름정리된 변수를 재수정했는데 참.. 머리가 나빠서인지 여러번 연습장에 그리고 그려서 결국 완성되었다. 트라이앵글스트립의 해결법을 알고도 이것을 적용하지못한 이유는...... 애초에 버텍스버퍼 설정할 때 각 버퍼값을 저장과 더불어 저 정점위의 픽킹영역까지 관리하는 저장컨테이너(STL-vector)을 넣는 방식으로다가 해버려서, 차라리 인덱스버퍼 두르기부분에서 약간의 수정과 더불어 삼각형리스트로 가는 방법이 낫겠다고 생각하였다. 음..... 그래도 퍼포먼스는 큰 차이가 없지만 애초에 계획이 살짝어긋난것에 대해 아쉽지만, 계속 한군데서 발목잡힐수야 없지. 더보기
문제점 발생 D3DPT_TRIANGLESTRIP 으로 그리는것이 D3DPT_TRIANGLELIST 보다 빠르다. 리스트가 정점 3개씩해서 삼각형을 하나 겨우 그리지만, 스트립은 정점 2개에 정점이 하나추가될때마다 삼각형이 하나씩 생겼기에 속도가 빠르다고 판단하였고, 작업을 진행하였는데.. 문제점 발생 1그림에서는 큰 문제가 없다. 2,3그림을 토대로 문제를 알수있는데.. 라인따라 한줄한줄그려주다가 다음 열로 넘어갈때 정점이 연결된다. 그래서 저런 엿가락모양이 생긴것이다. 사실 처음 계산할때 이럴것같더라니... 항상 오른쪽으로 비틀어서 봤으니 이걸 감지못했다. 해결방법모색 : 맨끝과 그리고 맨처음에 정점들을 하나씩 추가한다. 전에 친절히 알려주셨던 형님의 "무효화삼각형" 이걸 말씀하셨던거였구나...... 더보기
[맵툴] 8일차. 생각보다 많은 진도를 못나갔지만, 그래도 오늘 작업한 결과를 기록해본다. D3DX함수 시리즈중에서 관련 기하물체를 만드는 것이 있다. 그것을 셋업하고 렌더하는데 디테일한 설명은 생략하겠다. D3DXCreateBox, D3DXCreateSphere, D3DXCreateCylinder, D3DXCreateTeapot, D3DXCreatePolygon, D3DXCreateTours 등등.. 붉은 부분의 박스와 픽킹이 가능한 영역(바운드스피어)의 크기는 동일하다. 박스(메쉬데이터LPD3DXMESH),바운드스피어,위치정보가 구조체를 이뤄 STL로 관리해준다. 이거는 대략적으로 7일차에 기록해놓았기때문에 넘어가겠다. 일단은 테스트적으로 텍스쳐를 입혀보았고, 디렉션라이트를 적용해보았다. 프로그램을 짤 때 내 스타일은.. 더보기