본문 바로가기
공부/Graphics

[Graphics] 포스트 이펙트(Post Effect)

by MY블로그 2023. 8. 7.

Post Effect ?

포스트 이펙트는 3D 그래픽스에서 렌더링이 완료된 최종 이미지에 추가적인 시각적 효과를 적용시키는 기술을 의미합니다.

일반적으로 화면에 출력되기 전에 수행되는 후처리 작업으로서 화면에 렌더링 된 이미지에 필터링, 쉐이딩, 블러, 색상 보정, 후광 효과 등 다양한 시각적 변화를 적용할 수 있습니다.

아래의 이미지를 참고한다면 쉽게 이해가 가능합니다.

출처 : https://www.youtube.com/watch?v=mLd_lkJ2_p8

포스트 이펙트는 주로 쉐이더를 사용하여 구현됩니다.

렌더링 된 이미지를 쉐이더로 전달하여 화면 전체에 효과를 적용하거나 특정 영역에만 효과를 적용할 수 있습니다.

 

예를 들어 블러 효과를 적용하여 광원 주변을 흐리게 표현하거나, 컬러 그레이딩을 사용하여 화면의 색상을 변경할 수 있습니다.

 

일반적으로 포스트 이펙트는 화면에 출력되기 직전에 적용되기때문에 렌더링 성능에 큰 영향을 미치지 않으면서도 시각적인 품직을 향상시키는 데에 사용됩니다.

또한 포스트 이펙트는 게임이나 영화와 같은 매체에서 특별한 시각적 효과를 구현하는데 많이 활용됩니다.


활용 예시

블러 효과(가우시안 블러, 블러 마스크 등)

쉐도우 맵(Shadow Map) 효과

후광(Bloom) 효과

컬러 그레이딩(Color Grading)

흑백 효과(Black and White)

모션 블러(Motion Blur 잔상)

근접 플레이어 효과(Depth Of Field)


Post Effect 장단점

장점

1. 시각적인 품질 향상

포스트 이펙트를 사용하여 렌더링된 최종 이미지에 다양한 효과를 적용하기 떄문에 시각적인 품질의 향상이 가능합니다. 좀더 현실적이거나 혹은 아티스틱한 분위기를 구현시킬 수 있습니다.

2. 저렴한 성능

렌더링이 완료된 이미지에 적용시키므로 주로 스크린 스페이스(Screen Space)에서 작동합니다.

즉, 렌더링 파이프라인의 후반부에서 수행되므로 전체 렌더링에 큰 영향을 미치지 않기때문에 비교적 저렴한 비용으로 높은 효과를 기대할 수 있습니다.

3. 실시간 적용이 가능

렌더링이 완료된 이미지를 대상으로 작동하기때문에 실시간으로 적용이 가능합니다.

게임과 같은 대화형 그래픽 애플리케이션에서도 실시간으로 포스트 이펙트를 적용하여 즉각 적인 시각효과를 구현시킬 수 있습니다.

4. 유연한 조정 가능

포스트 이펙트는 쉐이더를 사용하여 구현하기 때문에 효과의 강도 혹은 영역 등을 조정할 수 있습니다.

때문에 사용자의 설정에 따라 다양한 결과를 얻을 수 있습니다.

단점

1. 추가적인 메모리와 오버헤드

포스트 이펙트를 구현하기 위해서는 추가적인 프레임 버퍼와 텍스처를 사용해야 합니다.(RTT처럼)

때문에 추가적인 메모리 요구가 이루어지며, 렌더링 성능에 약간의 오버헤드가 발생할 수 있습니다.

2. 적용 범위의 제한

렌더링된 이미지에 적용되므로, 이미지의 특정 영역을 기반으로 하는 효과는 어렵습니다.

예를 들자면 광원 주변의 블러(잔상) 효과 또는 객체 주위의 후광 효과는 렌더링된 이미지만으로는 정확히 구현하기 어렵습니다.

3. 복잡한 구현

포스트 이펙트의 일부는 구현이 어려울 수 있으며 성능의 최적화가 필요할 수 있습니다.

특히 실시간 애플리케이션에서 많은 포스트 이펙트를 사용할 경우 코드의 복잡성이 증가할 수 있습니다.

4. 렌더링 순서에 영향

포스트 이펙트는 렌더링이 완료된 이미지에 추가적인 효과를 적용한다 하였습니다.

이는 즉, 렌더링 순서의 끝에 있기때문에 렌더링 순서에 영향을 받습니다. 따라서 올바른 렌더링 순서를 유지하는 것이 매우 중요합니다.

댓글