2012-11-19 5 views
0

xz 평면에 4 포인트 (-8.0f, 0.0f, -8.0f), (8.0f, 0.0f, -8.0f), (8.0f, 0.0f, 8.0f), (- 8,0.0f.0f, 8.0f). 예를 들어, 2x2 또는 64x64와 같이 임의의 차원을 선택하도록 사용자에게 요청하면 꼭 필요한 쿼드 메쉬를 생성해야하므로 꼭지점 배열을 만들고 그 좌표를 저장해야합니다. 나는 그 문제를 푸는 청결한 해결책을 제시 할 수 없다. 또한 정점 쿼드을 만들 것을 사용해야합니다, 그래서 쿼드을 만드는 데 사용되는 정점 위해 만든 중요한 것이 나중에꼭지점 좌표 생성

메쉬 그래서 내가 그것을

에서 일하고 있어요 기능입니다 {스캔 패션

, 경계의 가장자리를 따라 // originX 및 Z 이동}

그것이 괜찮은 생각처럼 보이는가 initializeMesh (플로트, xWidth을 떠, originZ을 떠, originX을 떠 zWidth) 이 무효? x 및 z 폭은 사용자 입력 치수 (16.0f/dimX 및 16.0f/dimY)를 기반으로 계산되며 통과를 중지 할시기를 알아야합니다.

+0

"불명확 한"해결책을 제시하거나 문제가 정확히 무엇인지 말하십시오. Ppl 여기에 솔루션을 찾는 데 도움이됩니다. 그러나 그들은 당신을 위해 그것을 찾지 않을 것입니다. – JAre

+1

귀하의 조언에 감사드립니다. 방금 함수 작업을 시작했고 방금 올바른 방향으로 가고 싶습니다. – user1830954

답변

0

치수가 2의 거듭 제곱 인 경우 (예 : 2x2, 64x64와 같이) 반복 할 수 있습니다. 각 반복은 각 가장자리 (인접한 정점 사이의 수직 또는 수평 간격)를 절반으로 나눕니다. 새 정점 위치는 인접한 정점의 산술 평균입니다. 원하는 치수가 될 때까지 반복하십시오. 새 노드 (정점)를 주입해야하기 때문에 데이터 구조를 나열하는 것이 좋습니다. 배열보다 목록이 더 쉽고 빠릅니다.

정점 순서를 엉망으로 만들지 않고 텍스처 좌표와 같은 정점 속성을 지원하도록 확장하여 산술 평균을 도출 할 수 있습니다.