본문 바로가기

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

[맵툴] 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개의 삼각형을 생성
하지만 두르기에도 더 좋은 방법이 있을 것이다. 난 그렇게 믿는다.
내가 여러번 트레이스해본결과.. 그냥 이렇게 인덱스셋팅 해놨다 ㅋ;

뭐 디바이스 셋인덱스 이런건 다 정해진것이니 그렇다쳐도
m_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0,0,9 /*버텍스수*/,0,8 /*삼각형수*/);
이렇게 되겠다. 오늘 이걸 샘플삼아 다시 최대한, 간단하고 가볍게 내가 정의하는 방법으로 다시 조절해야겠다.
가로, 세로 몇칸을 지정할 것인가?, 길이는 어느정도로 지정할 것인가?

하지만, D3DPT_TRIANGLESTRIP 로 한다면 같은 버텍스에 더 작은 인덱스계산으로 만들어지더라 ㅡㅡ;

그럼 다음은 띠로 렌더하고 원하는 사이즈를 입력받아 Plane가 나오게해야겠다.