래스터화할 때 왜 인접한 삼각형이 겹치지 않습니까?


11

다음과 같은 멍청한 질문에 사과드립니다. 어디에서나 만족스러운 답변을 찾을 수 없습니다 ...

두 개의 삼각형으로 구성된 간단한 축 정렬 쿼드를 렌더링 할 때 왜 삼각형이 만나는 대각선 가장자리에 눈에 띄는 인공물이 없는지 이해할 수 없습니다. 그 픽셀 중 일부는 두 삼각형 모두에 있어야합니다. 따라서 내 fragshader가 항상 부분적으로 투명한 색상 (50 % 검은 색)을 방출하는 경우 결과 쿼드에 어두운 대각선이 보이지 않아야합니까?

분명히 이것이 코드화되어야하는 실제 문제가 아니라는 점이 훌륭합니다. 왜 그런지 이해하지 못합니다. 이것이 항상 해결되는 GPU 마술은 무엇입니까?

답변:


10

이는 스캔 변환 중 샘플 간격이란 무엇입니까? 에서 설명한 것과 동일한 문제입니다 .

간단히 말해서, 최소한 대부분의 하드웨어 시스템에서 래스터 화는 각 픽셀에 대해 단일 '무한'지점에서 테스트하여 해당 픽셀이 지정된 삼각형 안에 있는지 확인합니다.

샘플 포인트가 정확하게 가장자리에 있으면 종종 "채우기 규칙"이라고하는 추가 타이 브레이킹 규칙이 적용됩니다. 일반적으로 이것들은 삼각형의 위쪽 / 왼쪽 ** 가장자리의 가장자리 지점 만 "내부"로 간주하는 것과 같습니다.

** 다른 규칙을 사용할 수 있습니다 ;-)


그래, 난 그냥 그 답을 찾고 있었다
joojaa

1
블랙 북의 관련 구절 : jagregory.com/abrash-black-book/…
bblack

대단히 감사합니다! 그것은 일종의 의미가 있으며, 그 검은 책도 훌륭한 자료처럼 보입니다
Reuben Scratton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.