수직 변형을 겪고있는 다각형 메쉬의 일정한 수평 밴드 높이 (Opengl ES 1.1)

StackOverflow https://stackoverflow.com/questions/512414

문제

일반적인 알고리즘을 사용하여 표준 다각형 메쉬에서 텍스처 매핑을 구현할 때,이 방향의 정점 대신 일정한 높이의 쿼드 행의 밴드를 따라 가면 y 축을 따라 변형과 관련된 문제를 해결할 수 있습니다. x 축을 따라 그것에 비해 독립적으로 스트레칭.

메쉬의 정점을 정의 할 때 각 행은 하단과 상단 정점을 정의하여 한 행에 대한 정점의 상단 행이 위의 행에 대한 정점 행을 공유하는 한 행에 대한 정점의 상단 행을 초래하기 때문에 이것에 실립니다.

X 또는 Z 축을 따라 메쉬를 변형시키는 경우에는 괜찮지 만,이 축을 따라 메쉬를 고려하지 않고 메쉬를 변형하면 쿼드 행이 함께 작용한다는 것을 알 수 있습니다. 독립 지점의 행 대신 일정한 높이. Y 축을 따라 메쉬의 변형이 보이지만,이 밴드가 너비가 변하지 않기 때문에 텍스처 찢어짐도 볼 수 있습니다.

이 방식으로 구성된 다각형 메쉬에 (x, y) 변위 맵 필터를 적용하는 방법에 대한 제안이있는 다른 사람이 있습니까? 아니면 메쉬를 정의하는 접근 방식이 근본적인 방식으로 변경되어야합니까?

메쉬 생성 알고리즘의 예를 볼 수 있습니다. Zeus Opengl | 텍스처 매핑에 대한 자습서.

감사.

도움이 되었습니까?

해결책

OK 내가 먼저 질문을 이해하는지 확인하십시오.

내가 당신을 올바르게 이해한다면, 당신은 텍스처 매핑 패치를 렌더링하려고합니다. 그러나 수직 방향으로 패치를 밟으려고 할 때 키가 커지고 메시 눈물의 다른 수평 밴드가 여러 수평 패치로 끝납니다.

맞습니까?

그렇다면 문제가 메쉬 생성 알고리즘에 있으면 텍스처 매핑 자체가 변경되지 않아야합니다. 제공된 링크에서 볼 수있는 것에서, 각 수평 밴드 사이의 정점은 공유되지 않으며 복제됩니다. 따라서 상단 정점 사이의 간격을 확장하면 하단 정점이 다음 행 상단 정점에 맞도록 밴드 높이를 확장해야합니다.

알고리즘의 기본 사항은 행 간격과 행 높이를 모두 조정하면됩니다. 원시 목록이 어떻게 작동하는지 조금 더 이해하면 인덱스 된 프리미티브에 대해 배우고 싶을 수도 있습니다. 그것들을 사용하면 모든 원시적으로 정점을 복제하는 대신 정점을 공유 할 수 있습니다.

도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top