변위 매핑과 높이 매핑의 차이점은 무엇입니까?


15

변위 매핑과 높이 매핑의 차이점은 무엇이며 적응 형 테셀레이션과의 연결은 무엇입니까?


작은 물체, 즉 구에 높이 매핑을 사용하려고 할 때 균열을 제거하기 위해 어떤 기술을 사용합니까? 스무딩? Displacment 및 Adaptive Tessellation보다 성능이 우수합니까?
Jinxi

답변:


10

변위 매핑과 높이 매핑은 "거의"같은 기술에 대한 두 가지 이름으로, 동일한 효과를 목표로하지만 다른 상황에서 사용됩니다.

더 설명하려면 :

Displacement Mapping : 매우 미세한 메시에서 범프를 실제 지오메트리로 렌더링하는 기술입니다. 노멀 맵을 사용하여 범프를 "가짜"하려고하는 범프 매핑, 시차 및 릴리프 매핑과 달리, 변위 매핑은 실제로 표면을 변위시켜 텍셀 사이에 삼각형을 만듭니다. .

높이 매핑 : 동일하지만 일반적으로 값이 꼭짓점 높이를 수정하는 데만 사용되는 지형에 변위 맵 (높이 맵이라고도 함)이 적용되는 컨텍스트에서 사용됩니다.

CPU 또는 GPU에서 구현할 수 있습니다.

하나의 일반적인 CPU 접근 방식 은 각 텍셀이 하나의 꼭짓점에 직접 매핑되는 높이 / 변위 맵 (텍스처)에서 높이 또는 변위 값을 읽는 것입니다. 각 텍셀이 높이 / 변위 값을 인코딩하는 위치. 그런 다음 조회 된 값을 사용하여 고유 한 방향으로 각 정점을 대체하여 지오메트리에 직접 적용됩니다.

방향을 선택하면 위쪽 방향 (보통 지형의 경우)으로 정점 Y 값이 수정되거나 지형 이외의 객체에 일반적으로 사용되는면 법선 방향이 될 수 있습니다.

GPU 대안 은 버텍스 텍스쳐 페치 기능 (Shader Model 3.0에서 도입)을 사용하여 변위 / 높이 맵에 액세스하여 터 레인 메쉬를 수정하는 것입니다. 텍스처에서 검색된 높이는 버텍스 쉐이딩 프로그램에서 버텍스의 위치를 ​​수정하는 데 사용됩니다 .

텍스처를 사용하는 다른 용도는 웨이브 시뮬레이션 및 기타 애니메이션에서 메시에 적용 할 데이터를 더 빠르게 조작 할 수있게합니다 .

적응 형 테셀레이션 관련 :

변위 매핑의 단점 중 하나는 큰 지형의 경우 자세한 지형을 모델링하기 위해 많은 다각형과 정점이 필요하므로 큰 지형의 경우 변위 매핑을 비효율적으로 만드는 것입니다.

적응 형 테셀레이션 및 세부 수준 기술이 특히 GPU의 향상 및 형상 쉐이더 도입과 함께 변위 매핑을보다 실현 가능하게 만드는 곳으로, 이러한 진보로 테셀레이션을 수행하는 것이 지배적 인 기술이되었습니다. 프로그래밍이 쉽고 최신 GPU에서 간단하며 단점이 거의 없습니다.

릴리프 및 범프 매핑과 같은 다른 기술은 일반적으로 합리적인 비용으로 추가 사실감을 제공하지만 기본 표면이 교란되지 않는다는 사실로 인해 충돌을 감지하여 객체 상호 작용이 더 어려워집니다.

결론적으로 변위 매핑 및 적응 형 테셀레이션은 실현 가능한 성능 비용으로 적은 단점으로 뛰어난 디테일과 품질을 제공합니다.


"적응 테셀레이션과 어떤 관련이 있습니까?"라는 질문의 마지막 부분을 잊지 마십시오.
MichaelHouse

@ Byte56 답변을 업데이트했다고 알려 주셔서 감사합니다.
concept3d

12

변위 매핑은 표면의 각 점에서 벡터 변위를 의미 할 수 있지만 항상 그런 것은 아닙니다 . 높이 매핑은 스칼라 변위 값만 의미합니다. 즉, 각 점이 법선을 따라 밀립니다. "변위 매핑"이라는 용어는 스칼라 변위에도 사용될 수 있지만, 벡터 변위가 논의 될 때 사람들은 종종 "벡터 변위 매핑"을 명시 적으로 말합니다.

테셀레이션은 표면을 작은 다각형으로 세분화하고 변위 (맵에서 조회)를 세분화 된 표면의 각 정점에 적용하여 변위 맵을 적용하는 데 사용할 수 있습니다. 필요한 세분화 수준은 변위 맵의 노이즈 / 세부 사항에 따라 달라 지므로 적응 형 테셀레이션을 사용하면 세부적인 부분은 더 세밀하지만 더 평평한 부분은 세분화하여 성능을 향상시킬 수 있습니다.


이것은 객관적으로 정답입니다. 초보자가 붙여 넣기를 복사하기 위해 더 많은 테셀레이션 코드를 찾으면 미묘한 차이가 훨씬 더 중요해질 것입니다. (절차 벡터 변위는 이미 nVidia에 의해 전시되었습니다)
MickLH

3

기본적으로 그들은 같은 것입니다.

변위 매핑범프 매핑 과 같은 표면 디테일을 추가하는 기술입니다 . 그러나 범프 매핑과 달리 변위 매핑은 실제로 일부 입력 높이 맵 (기본적으로 고도 값의 그리드)을 기반으로 형상을 변형하는 것 입니다.

"변위 매핑"은 기본적으로 구어체 적으로 "높이 매핑"이라고하는 다른 기술적으로 더 정확한 용어입니다 (엄격히 말하면, "높이 매핑"은 아마도 일부 소스 재료에서 고도 데이터 그리드를 생성하는 프로세스를 참조해야합니다. 3D 스캐너로서 변위 매핑 구현에 사용될 것입니다. 그러나 실제로 대부분의 사람들은 "변위 매핑"이라고 말하는 경우에도 용어를 서로 바꾸어 사용할 수 있습니다.

이 기술은 적응 형 테셀레이션과 직접 관련이 없으며, 메쉬 자체를 구체화하는 데 사용되는 구체의 삼각형으로 메쉬 (예 : 구)에 대한 수학적 설명을 분석하는 것과 관련이 있습니다. "적응"비트는 테셀레이션 세부 사항이 뷰 거리와 같은 일부 입력 기준에 따라 변경됨을 의미합니다.

예를 들어, 구의 경우 구가 매우 멀리있을 때 구를 매우 조잡하게 (효과적으로 큐브로) 테셀 레이트 할 수 있지만 구가 가까이있을 때 더 자세하게 사용할 수 있습니다.

테셀레이션은 변위를 수행하기 위해 고도 맵을 지오메트리에 매핑하는 방법 (또는 선택하려는 고도 맵의 해상도 등)에 영향을주기 때문에 테셀레이션과 관련하여 논의 된 변위 매핑 과 같은 기술을 종종 볼 수 있습니다.


2

그것들은 같은 개념입니다.

편집 : 변위는 2 차원 이상의 높이로 구성 될 수 있습니다!

이것에 대한 의미 론적 전쟁을 시작하지는 않지만 현실적으로 높이 매핑은 일반적으로 대규모 / 테셀레이션 기반 기술을 의미하며, 변위 매핑은 일반적으로 소규모 / 레이트 레이싱 기술을 의미합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.