모든 경우에 대해 효율적으로 분석적으로 수행하는 좋은 방법은 없습니다. 분석 범위 계산을 시도하는 대부분 또는 모든 상용 2D 렌더러는 멀티 샘플링 방법으로는 예측할 수없는 오류를 만듭니다.
일반적인 문제는 동일한 가장자리를 공유하는 두 개의 겹치는 모양입니다. 일반적인 상황은 알파 채널의 앨리어스가 너무 두껍기 때문에 앨리어스가 약간 가중되는 것입니다. 또는 모양이 다르게 색을 칠하면 시스템의 배경색이 혼동됩니다. 이것은 매우 성가신 일입니다.
이미지 1 : 렌더링 엔진이 적용 범위를 혼동하고 외곽선이 없어야 할 곳에 얇은 흰색 외곽선을 만듭니다.
두 번째 완벽한 적용 범위는 상자 필터링에 해당합니다. 우리는 확실히 더 잘할 수 있습니다. 모양에 대해 부울 연산이 필요한 특수한 코너 케이스가 너무 많기 때문에 수퍼 샘플링은 여전히 우수합니다. 실제로 범위 추정치는 가장 필요할 때 샘플링을 집중시키는 데 사용될 수 있습니다.
하위 픽셀 수준에서 다각형으로 상황을 단순화 한 다음 이산 분석 솔루션을 해결할 수 있습니다. 그러나 이것은 유연성을 희생시킵니다. 예를 들어, 미래의 벡터 시스템은 가변적으로 다른 색상의 물체와 마찬가지로 분석 솔루션에 문제가되는 가변 폭의 흐릿한 선을 허용하고자 할 수도 있습니다.
분석적으로하는 방법
이미지 2 :이 장면이 있고 오른쪽에서 분해도가 있다고 가정합니다.
이제 분석적으로 각 부분을 개별적으로 수행 한 다음 데이터를 병합 할 수 없습니다. 데이터가 잘못되기 때문입니다. 알파 블렌딩을 사용하면 파랑이 빛을 발하게 할 수 있습니다.
당신이해야 할 것은 각 모양이 다른 것 아래에있는 것을 제거하도록 장면을 분할하는 것입니다.
이미지 3 : 밑면을 잘라 내야합니다.
이제 모든 것이 불투명하다면 이것은 모두 직설적입니다. 각 조각의 면적을 계산하고 색상을 곱하고 합산하십시오. 지금 당신은 같은 것을 사용할 수 있습니다 이 .
개별 모양이 불투명하지는 않지만 일부 수준에서 수행 할 수있는 경우 모두 분해됩니다.
생각해 내다:
- AA 계산은 선형 색 공간에서 수행되어야하며 공간을 사용하도록 다시 변환되어야합니다.