본문 바로가기
공부/Graphics

[Graphics] 블러(Blur)

by MY블로그 2023. 8. 7.

Blur ?

블러는 영상이나 그래픽의 세부 정보를 흐려지게(흐릿하게)만드는 시각적 효과를 의미합니다.

이미지의 선명도를 감소시켜  색상과 형태의 경계를 부드럽게 만들거나 이미지를 불분명하게 만들어 장면에 광택감을 부여하는 데 사용됩니다.

 

또한 블러 효과는 다른 많은 효과들의 기본이 됩니다.

예를들어 블룸, 뎁스 오브 필드, 풀스크린 글로우, 글로우 맵핑, 헤일로 글로우, 엣지 글로우, 그림자 경계, 물속 효과 등등이 있습니다.

 

DirectX 11에서는 실시간 블러 효과를 위해서 우선 화면을 텍스처에 그린다음 텍스처에 블러를 적용시킨 뒤 화면에 텍스처를 그리는 방식으로 진행이 됩니다.

텍스처에 그려진 장면에 2D 이미지를 프로세싱 하는 것을 후처리 또는 포스트 프로세싱 이라고 합니다.


Blur의 적용 단계(가우시안 블러 기준)

가우시안 블러를 구현하기 위해서는 2D 또는 3D 가우시안 필터를 적용하는 쉐이더를 작성해야 합니다.

가우시안 필터는 텍스처의 각 필셀에 주변 픽셀들의 가중치를 적용하여 흐릿한 효과를 만들어 냅니다.

가우시안 필터를 적용하는 방식은 쉐이더를 사용하여 텍스처에 여러번 반복적으로 적용하는 방법이 일방적 입니다.

이때 가우시안 필터의 크기와 강도에 따라 블러 효과의 세기가 조절됩니다.

1. 화면을 텍스처에 그리기

전체 화면을 텍스처에 그리는 단계입니다. 즉, RTT(Render To Texture) 단계입니다.

블러효과를 적용하기 위해 프레임버퍼를 생성하고 이를 텍스처로 저장할 준비를 합니다.

 

[Graphics] 텍스처에 그리기 RTT(Render To Texture)

Render To Texture ? 렌더투텍스처(Render To Texture)(이하 RTT)를 의미합니다. 3D 그래픽스에서 매우 유용한 기술로, 장면을 렌더링(Rendering)하고 그 결과를 텍스처(Texture)로 저장하는 방식입니다. 다양한 그

rhksgml78.tistory.com

2. 렌더링과 텍스처 저장(+텍스처의 다운 샘플링)

씬을 렌더링하고, 렌더링된 결과를 생성한 브레임 버퍼에 저장합니다.

그리고 이를 텍스처로 복사하여 텍스처로 저장 합니다.

 

추가적으로 텍스처의 다운 샘플링이 있을 수 있습니다.

다운 샘플링을 하는 이유는 큰 텍스처에 처리를 하는 것보다 비용이 적기 때문입니다.

또한 그림판에서 이미지를 축소하였다가 늘렸을때에 이미지의 픽섹이 원래대로 돌아오지않은 채로 늘어나는 모습처럼 자체적인 블러효과가 적용되는 이유도 있습니다.

그림판에서 직접 확인한 효과 입니다 아래 이미지를 참고해 주세요.

원본의 픽셀을 되살릴 수 없습니다. 자체 블러 효과적인 느낌 입니다.

 

3. 가우시안 블러 쉐이더 실행

가우시안 블러 효과를 적용하기 위한 쉐이더를 실행하는 단계입니다.

이 쉐이더는 텍스처를 대상으로 가우시안 블러를 계산하여 결과를 다른 텍스처로 저장합니다.

4. 다른 포스트 프로세싱(Post Processing)

블러 효과 이외에 추가적인 포스트 프로세싱 효과를 적용할 수 있습니다.

예를 들어 후광 효과 또는 톤 매핑 등을 적용할 수 있습니다.

5. 렌더링

최종적으로 렌더링된 이미지를 화면에 출력하는 마지막 단계입니다.

 

위의 단계를 차례대로 수행하여 블러 효과를 적용하면 렌더링된 이미지에 부드럽고 흐려진 효과를 얻을 수 있습니다. 블러 효과를 적용함으로써 그래픽스 애플리케이션에서 보다 현실적이고 아름다운 시각적 효과를 구현할 수 있습니다.


Blur의 유형

1. 가우시안 블러(Gaussian Blur)

픽셀 주변에 가우시안 분포를 적용하여 픽셀 값을 흐려지게 만드는 방식입니다.

픽셀 주변에 가중치를 두어 주변 픽셀의 값에 영향을 받아 부드럽게 블러 처리됩니다.

자연스러운 효과를 제공하여 주변 픽셀과 색상 차이를 완화 시키는데 사용됩니다.

https://www.computerhope.com/jargon/p/photoshop-gaussian-blur.htm

2. 박스 블러(Box Blur)

픽셀 주변에 사각형 형태의 마스크를 적용하여 픽셀 값을 평균화하여 흐려지게 만든느 방식입니다.

주변 픽셀의 평균 값을 계산하여 부드럽게 블러 처리됩니다.

박스 블러는 간단하고 빠른 계산이 가능하지만, 가우시안 블러보다 결과물이 조금더 경직된 느낌입니다.

가우시안 블러가 안개같은 느낌이라면 박스블러는 모자이크 같은느낌을 받습니다.

https://www.computerhope.com/jargon/p/photoshop-box-blur.htm

3. RTT 블러(Render To Texture Blur)

포스트 이펙트를 사용하여 렌더링된 이미지에 블러 효과를 적용하는 방식입니다.

가우시안 블러 등의 블러 효과를 후처리 단계에서 전체 화면에 적용하여 부드럽게 만드는 데 사용됩니다.

댓글