일반적인 CAD 소프트웨어를 구현하고 싶기 때문에 다양한 메시의 실루엣을 그리기 위해 가장자리 감지 알고리즘이 필요합니다. 실루엣에는 다양한 개체의 윤곽, 융기 및 주름이 포함됩니다.단일 패스 와이어 프레임 렌더링을 사용한 엣지 감지
내가 와이어 프레임이 개체 및 대각선 같은 내부 라인의 상단에 그려진 기하학적 접근 방식을 사용하려면 다음은 실루엣이 두꺼운 오렌지 라인 구성되어 블렌더에서 만든 큐브의 예입니다 생략됩니다. 와이어 프레임 렌더링은 here으로 설명됩니다. 이 기사에서는 와이어 프레임을 그릴 때 기하 구조 셰이더를 사용합니다. 또한 행을 생략해야하는지 여부를 결정하기 위해 정점 별 속성을 설정해야한다고 설명합니다.
내 질문은 : 생략해야 할 줄을 어떻게 결정할 수 있습니까? OpenGL을 렌더링 API로 사용하고 있습니다.
편집 : 명확히하기 위해, 나는 실루엣을 구성하는 모서리를 그려보고 싶지만 어떤 대각선도 그리지 않습니다. 여기에 내가 무엇을 달성하고자하는의 예입니다
"실루엣에는 다양한 오브젝트의 윤곽, 융기 및 주름이 포함됩니다. *"실루엣이 의미하는 것은 아닙니다 (http://www.dictionary.com/browse/silhouette). –
니콜 볼라스 (Nicol Bolas)가 말한 사실을 고려하면, 나는 당신이 찾고있는 것이 다음과 같다 : 가장자리에 연결된 두 개의 삼각형의 법선이 같지 않으면 가장자리 만 볼 수 있어야한다. 그게 사실이야? 이것은 두 개의 연결된 삼각형 법선이있는 경우 내적을 통해 매우 쉽게 계산할 수 있기 때문입니다. 이제 당신의 discription이 모호해지기 때문에, 라인을 결정할 때 일반적인 차이점에서 퍼지 임계 값을 고려해야 할 수도 있습니다. 즉, 구 및 곡선이 "가장자리가없는"것도 허용 할 수 있습니다. – TWT
가정은 올바른 TWT입니다.기하학 쉐이더에서 삼각형 법선을 비교하는 것이 가능한지 알고 있습니까? 아니면 삼각형을 사전 처리해야하고 동일한 법선 방향을 갖고 결과적으로 렌더링되지 않아야하는 모든 가장자리를 표시해야합니까? – enne87