2012-07-30 4 views
0

ODD의 정점 수를 가진 삼각형 스트립의 방향을 뒤집을 것을 알고 있습니다. 정점을 뒤집을 수 있습니다. ABCDE는 EDCBA가됩니다.EVEN 수의 꼭지점이있는 삼각형 스트립을 어떻게 뒤집을 수 있습니까?

그러나 삼각형 스트립과 정점 수는 같지 않습니다.

나는 온라인에 대해 읽은 많은 기술을 시도했지만 그 중 아무 것도 작동하지 않는 것 같습니다.

나는 ABCDEF를 BADCFE로 변환하려고 시도했지만, 렌더링 할 때 이상한 글리치가 생겼습니다.

나는 또한 B와 C를 뒤집는 것만으로도 효과가 있지만, 렌더링은 계속되는 삼각형의 방향을 반전하지 않는다는 것도 읽었습니다.

스트립의 인덱스 만 변경하여 정점 수와 함께 삼각형 스트립의 방향을 바꿀 수 있습니까?

저는 현재 정점에 대한 2 진 인덱스 목록에만 액세스 할 수 있으므로 축약 삼각형을 추가하거나 목록의 색인 수를 변경할 수 없습니다.

답변

0

임의 길이의 삼각형 스트립의 권선 순서를 변경할 수 없습니다. 홀수 길이의 스트립의 권선 순서 만 변경할 수 있습니다. 스트립 자체를 변경하지 않고.

이 스트립 고려 :

Triangle strip

당신 (I 삭제 내 원래 알고리즘) 정점의 중간 쌍 순서를 전환하는 경우는, 삼각형 당신이 (현재의 번호를 사용) 얻을입니다 :

(0, 2, 1), (2, 1, 4), (1, 4, 3), ...

고시 제 삼각형 : 2, 1, 4 그것은 완전히 있어 다른 삼각형; 이 스트립에 실제로있는 것은 아닙니다. 이 같은 지역을 다루고 있기 때문도 아니다이 1, 4, 3

는 일을 나타납니다. 그러나 실제로는 작동하지 않습니다. 다른 삼각형 세트를 그리기 때문입니다. 값은 다른 방법으로 보간되며, 결과는 틀립니다. 어쩌면 이 아닐 수도 있지만, 그럼에도 불구하고 잘못된 것입니다..

임의의 삼각형 스트립을 취하여 권선 순서를 역전시킬 수있는 알고리즘이 없습니다. 본질 상, 삼각형 스트립은 권선 순서에 의해 구속되며 모든 경우에 그것을 뒤집을 수는 없습니다.

API가 예상되는 와인딩 순서를 간단히 뒤집을 수있는 방법이 있습니다. 당신이 언급 한 :

내 프로젝트 마리오 카트 Wii에 코스 파일을 해킹 포함

그들의 권선을 사용하여 자신의 삼각형 스트립을, 그리고 도면 대신 삼각형으로 목록 그들을 설정하지 왜

스트립. 그렇게하면 데이터의 권선을 훨씬 쉽게 변경할 수 있습니다.

+0

Nicol, 입력 해 주셔서 감사합니다. 나는 스트립의 나머지 삼각형을 뒤집은 퇴보 삼각형을 도입하기 위해 심지어 tristrip의 첫 번째 정점을 반복하는 다른 자료를 발견했습니다. 삼각형 목록으로 바꾸는 문제는 지금은 파일 크기를 변경할 수 없다는 것입니다. 그러나 이제는 가능할 수 있는지 알아보기 위해이 작업을 수행 할 수 있습니다. 모든 도움에 감사드립니다! –

+0

@ 이돌라 : 파일을 변경할 필요가 없습니다. 로드 프로세스의 일부로 수행하십시오. –

+0

Wii에서로드 한 파일을 해킹하고 있습니다. 로딩 프로세스에 대한 제어권이 없으며 이진 파일 자체 만 있습니다. –

0

스트립에 퇴행 삼각형을 추가 한 다음 뒤집습니다.

+0

나는이 프로젝트에서 일하는 것을 그만 둔지 오래되었으며, 여기 또 다른 포스트를 보게되어 놀랐다. 답이 맞지만 바이너리 얼룩을 다루는 것만 큼 간단하지 않으므로 퇴행 삼각형을 붙일 곳이 없습니다. 트랙 파일을로드하고 파일을 구문 분석하고 새 삼각형 스트립을 작성한 다음 새 파일을 다시 작성해야했습니다. :) –

관련 문제