2010-12-04 5 views
5

어떻게 할 수 있습니까? 이제 동적으로 큐브 맵을 생성했습니다. 큐브 맵은 토러스에서 반사 텍스처로 사용합니다.큐브를 흐리게

모든면을 별도로 흐리게 처리하지 않겠습니까? 국경 근처의 픽셀 때문에 인접 지역에서 흐림 효과를 얻지 못합니다.

아마 다른 FBO를 만들어 바인딩하고, 화면에 큐브 맵을 "풀고"기본 흐림 셰이더를 적용한 다음 그 흐린 텍스처를 6면으로 분리해야합니까? "분리 된"부분을 수행하는 방법을 모릅니다.

답변

4

큐브 맵을 흐리게 표시 하시겠습니까? 그것은 꽤 어렵습니다.

수학적으로 정확한 가우시안 블러를하려면 주파수 영역 (구형 고조파)으로 변환하고 거기에 저역 통과 필터를 적용한 다음 역변환해야합니다. 그것은 간단한 작업이 아닙니다.

근사치이면 충분합니다.

  1. 빈 대상 큐브 맵을 만듭니다.
  2. 큐브의 각면 F를 들어, 얼굴이 F와 같은 다른 4 개면 중 인접하는 픽셀 렌더링 : 인접 픽셀

    ___________ 
    |\   /| 
    | \  /| 
    | \-----/ | 
    | |  | | 
    | | F | | 
    | |  | | 
    | /-----\ | 
    |/  \ | 
    |/_________\| 
    

    양은 흐림 반경에 의존한다.

  3. 좋아하는 흐림 알고리즘을 적용하십시오.
  4. F를 대상 큐브 맵에 복사하십시오.
  5. 각 얼굴마다 2-4 단계를 반복하십시오.
+0

와우 ... "구형 수정"결과가 필요할 수도 있지만 이음새의 인접 픽셀을 계산하는 특수한 경우와 함께 "평면"큐브 맵의 간단한 가우시안 블러와 실제로 구별 할 수 있음을 이해하십시오. ? – Kos

+0

@Kos : 두 번째 제안은 구형 적으로 정확하지 않으며, 얼굴 중간에 blured가 더 많이 표시됩니다. 또한 이것은 이음새의 인접 픽셀을 처리하는 가장 간단한 방법입니다. – ybungalobill

+0

나는 그것이 틀렸다는 것을 이해한다, 나의 질문은이다 "* itceivably * 부정확하다". 예를 들어, Phong-Blinn 반사 조명 모델은 "정확하지"않지만 여전히 훌륭하게 보입니다. – Kos

관련 문제