현재 높이 맵에 의해 생성 된 원통형 지형에서 작업 중입니다. 프로그램에서 일어나는 일은 간단합니다. 영역의 알파 값을 가진 지형 색상이 보이지 않게하고 다른 텍스처 ARGB를 사용합니다. A는 높이와 RGB에 대한 그레이 스케일입니다. 빛에 대한 정상입니다. 텍스처는 A 값이 1에서 255 사이가되고 구멍이있는 영역에 대해 0을 예약합니다. 즉, 존재하지 않기를 의미합니다. 이론적으로 아무런 문제가 없지만 첫 번째 텍스처를 기반으로 보이지 않는 영역을 만들었지 만 실제로 어떤 일이 일어나는지는 프로그램이 0을 최소 높이로 간주하고 텍스처를 맨 위에 놓고도 이 영역은 삼각형을 만들려고 노력하는 것 같이 보이지만 보이지 않게 만들어서 다음 꼭지점을 자르기 때문에 거기에 도착하지 않는 것과 같은 0의 영역입니다. Directx11을 사용하는 Heightmap 기반 지형의 구멍
주의 실린더이 내가 눈에 보이지 않는 그 정점 그래서
, 단지 말을을 중지 할 때 얻는 방법이다 의 중심에가는 선, 나는에 함수 클립()를 사용 픽셀 쉐이더를 사용하여 보이지 않게합니다.
기본적으로 도움이 필요합니다 : 픽셀 쉐이더에서 clip()을 사용하는 것과 같은 방식으로 버텍스 쉐이더에서 그런 작업을 수행하고 원하지 않는 버텍스를 제거 할 수 있습니까? 기본적으로 값 0을 무시한다고 말할 수 있습니까? 해결 방법이 있습니까? 0 인 모든 꼭지점을 이웃 사람의 값으로 만드는 것을 생각합니다. 그런 식으로 그 선은 중심으로가 아니라 실린더 자체와 같은 평면으로 갈 것입니다. 또 다른 점은 프로그램이 하나의 꼭지점에서 다음 꼭지점까지 값을 보간한다는 것입니다. 그 이유는 보이지 않는 꼭지점을 중간에서 자른 이유입니다.
저는 C++ 및 DirectX11 API를 사용하여 작업하고 있습니다. Tessellation을 사용합니다.
시간을 내 주셔서 감사 드리며 입력하신 내용이 매우 유용 할 것입니다.