본문 바로가기
프로그래밍/공부

[Graphics] 블러(Blur) 효과

by Sik.K 2023. 8. 7.

블러 효과는 화면 전체 혹은 개별 물체를 뿌옇게 만드는 데 사용한다.

 

또한 블러 효과를 베이스로 하여 많은 그래픽 효과를 만들어 내는데 다음과 같은 예가 있다.

 

  • 블룸
  • 뎁스 오브 필드
  • 풀스크린 글로우
  • 글로우 매핑
  • 헤일로/엣지 글로우
  • 부드러운 그림자 경계
  • 흐려진 라이트 트레일
  • 물속 효과 등...

 

위 효과들의 기초가 되는 블러 효과는 이미 렌더링 된 이미지에 후처리를 하는 포스트 이펙트, 혹은 포스트 프로세싱이라고 불리는 기법을 사용한다.

 

 

[Graphics] Post Effect

포스트 이펙트 혹은 포스트 프로세싱이라고 부르는 기술은 일반적으로 렌더링 이후 추가되는 효과를 위한 기술이다. 최종적으로 렌더링이 완료된 이미지에 시각적 효과를 추가하기 위해 사용

eunsikk.tistory.com

 


 

블러 알고리즘

 

  • 화면을 텍스처에 그린다
  • 텍스처를 절반 혹은 그 이하로 다운 샘플링한다.
  • 샘플된 텍스처에 수평 블러를 수행
  • 수직 블러를 수행
  • 원래 화면 사이즈로 텍스처를 샘플링한다.
  • 화면에 텍스처를 그린다.

 

우선 전체 화면을 텍스처에 그리는 것이다. 이 단계를 RTT(Render To Texture)라고 하여 백버퍼가 아닌 다른 버퍼에 렌더링 된 데이터를 텍스처로 저장하는 단계를 의미한다.

 

이후 이 텍스처를 더 작은 크기로 다운 샘플링한다. 굳이 다운 샘플링을 하는 이유는 우선 큰 텍스처 보다 작은 텍스처에 그리는 것이 더 비용적으로 저렴한 점도 있지만, 다운 샘플링을 하고 다시 키우는 과정에서 자연적인 블러 효과가 발생하기 때문에 두 번 블러 처리를 한 것과 같은 효과를 낸다.

 

이후 다운 샘플링한 텍스처에 블러를 수행한다. 여기서 블러 효과는 가우시안 블러, 혹은 박스 블러와 같은 종류의 블러가 있다. 가우시안 블러는 가중치를 가진 필터를 적용한 블러 효과이고, 박스 블러는 박스 마스크 내부의 픽셀들의 평균값을 구하여 블러 처리를 하는 방식이다.

 

출처 - After Effects Pro Tip: Quit Using Gaussian Blur Forever (pond5.com)

 

블러 처리와 같은 픽셀 단위에서 발생하는 연산의 경우 단순한 연산이지만 그 횟수가 많기 때문에 Compute Shader를 사용하는 경우가 있다.

 

이후 블러 처리된 텍스처를 화면에 그리는 것으로 렌더링이 끝난다.

 

 

 

 

댓글