겹치는 분석 곡선의 범위를 정확하게 계산하려면 어떻게합니까?


10

2D 모양의 앤티 앨리어싱은 모양으로 덮인 픽셀의 일부를 계산하는 것으로 요약됩니다. 겹치지 않는 단순한 모양의 경우 너무 어렵지 않습니다. 픽셀 사각형에 모양을 자르고 결과 모양의 영역을 계산하십시오. 그러나 여러 모양이 동일한 픽셀과 겹치면 더 어려워집니다. 단순히 면적을 합하면 한 도형이 다른 도형을 덮는 양을 무시하면 계산 된 범위가 너무 높아질 수 있습니다. 예를 들어, 글꼴 렌더링에 대한이 기사의 제한 사항 섹션을 참조하십시오 . 두 커브가 다른 색상의 다른 객체에서 나오는 상황에 처할 수도 있습니다 (따라서 두 셰이프의 합집합에 대한 전체 적용 범위가 아니라 각 개별 적용 범위에 관한 것입니다).

완전한 정확성을 염두에두면 어떻게 계산됩니까? 더 까다 롭지 만 곡선과 같이 겹치지 않는 비 다각형 모양에 대해 적용 범위를 정확하게 계산하는 방법은 무엇입니까? 당신이 선택의 여지가 없을 때 멀티 샘플링이나 확률 론적 기술로 넘어 가야 할 시점이 있습니까?

답변:


10

모든 경우에 대해 효율적으로 분석적으로 수행하는 좋은 방법은 없습니다. 분석 범위 계산을 시도하는 대부분 또는 모든 상용 2D 렌더러는 멀티 샘플링 방법으로는 예측할 수없는 오류를 만듭니다.

일반적인 문제는 동일한 가장자리를 공유하는 두 개의 겹치는 모양입니다. 일반적인 상황은 알파 채널의 앨리어스가 너무 두껍기 때문에 앨리어스가 약간 가중되는 것입니다. 또는 모양이 다르게 색을 칠하면 시스템의 배경색이 혼동됩니다. 이것은 매우 성가신 일입니다.

영상

이미지 1 : 렌더링 엔진이 적용 범위를 혼동하고 외곽선이 없어야 할 곳에 얇은 흰색 외곽선을 만듭니다.

두 번째 완벽한 적용 범위는 상자 필터링에 해당합니다. 우리는 확실히 더 잘할 수 있습니다. 모양에 대해 부울 연산이 필요한 특수한 코너 케이스가 너무 많기 때문에 수퍼 샘플링은 여전히 ​​우수합니다. 실제로 범위 추정치는 가장 필요할 때 샘플링을 집중시키는 데 사용될 수 있습니다.

하위 픽셀 수준에서 다각형으로 상황을 단순화 한 다음 이산 분석 솔루션을 해결할 수 있습니다. 그러나 이것은 유연성을 희생시킵니다. 예를 들어, 미래의 벡터 시스템은 가변적으로 다른 색상의 물체와 마찬가지로 분석 솔루션에 문제가되는 가변 폭의 흐릿한 선을 허용하고자 할 수도 있습니다.

분석적으로하는 방법

분석 장면

이미지 2 :이 장면이 있고 오른쪽에서 분해도가 있다고 가정합니다.

이제 분석적으로 각 부분을 개별적으로 수행 한 다음 데이터를 병합 할 수 없습니다. 데이터가 잘못되기 때문입니다. 알파 블렌딩을 사용하면 파랑이 빛을 발하게 할 수 있습니다.

당신이해야 할 것은 각 모양이 다른 것 아래에있는 것을 제거하도록 장면을 분할하는 것입니다.

여기에 이미지 설명을 입력하십시오

이미지 3 : 밑면을 잘라 내야합니다.

이제 모든 것이 불투명하다면 이것은 모두 직설적입니다. 각 조각의 면적을 계산하고 색상을 곱하고 합산하십시오. 지금 당신은 같은 것을 사용할 수 있습니다 .

개별 모양이 불투명하지는 않지만 일부 수준에서 수행 할 수있는 경우 모두 분해됩니다.

생각해 내다:

  • AA 계산은 선형 색 공간에서 수행되어야하며 공간을 사용하도록 다시 변환되어야합니다.

우리는 효율성에 대해 크게 신경 쓰지 않는다고 가정하십시오. 도형에 대한 부울 연산에 대한 적용 범위 계산은 어떻게합니까? 일반적으로 가능합니까, 아니면 특정 모양에 대해서만 가능합니까?
John Calsbeek

@JohnCalsbeek ok im 분석 답변을 작성하기 시작했습니다. 시간이 좀 걸릴 것입니다.
joojaa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.