본문 바로가기

프로그래밍/공부44

[Graphics] Post Effect 포스트 이펙트 혹은 포스트 프로세싱이라고 부르는 기술은 일반적으로 렌더링 이후 추가되는 효과를 위한 기술이다. 최종적으로 렌더링이 완료된 이미지에 시각적 효과를 추가하기 위해 사용하는 기술이므로 런타임 도중 수정이 가능하며 게임에서 그래픽 효과를 변경하여도 재시작이 필요 없는 옵션(예를 들면, 블러, 필터링, 색상 보정 등)들에 적용되었다. 포스트 이펙트는 런타임 도중 적용 가능 및 적용 정도의 유연성을 가지고 있고 저렴한 비용으로 높은 성능을 기대할 수 있다. 다만 추가적인 메모리를 사용하는만큼 일반적인 렌더링 상황보다 오버헤드 발생 확률이 높고, 코드로 구현함에 있어 복잡도가 높기 때문에 유지 보수가 어려우며, 렌더링 순서에 영향을 많이 받는다. 2023. 8. 7.
[Graphics] RTT(Render to Texture) 보통 그래픽 렌더링에서 화면은 백버퍼라는 공간에 그려진다. 이 백버퍼가 스왑체인을 통해 실제 화면에 노출되는 전면 버퍼와 계속 번갈아 가면서 화면을 그린다. 이것이 대표적인 렌더링 방식인데, RTT라는 기법은 조금 다르다. 그려야 할 대상을 백버퍼가 아닌 텍스쳐에 그려 저장하는 것이다. 이후 저장된 텍스처는 세이더에서 불러 다른 텍스쳐 위에 그릴 때 사용하거나, 각종 후처리 효과를 적용할 때 사용된다. 다양한 효과를 표현할 수 있는 RTT이지만 단점이 몇 가지 존재한다. 1. 비용 증가 - RTT는 기존의 백버퍼가 아닌 텍스처에 렌더링 결과를 담는 과정이다. 때문에 새로운 공간이 필요하다는 의미이고, 이는 메모리 사용량의 증가로 이어진다. 2. 성능 저하 가능성 - RTT는 두 번의 렌더링을 거친다. 첫.. 2023. 8. 7.
[Graphics] 광원 효과 광원 효과의 대표 예시는 Directional Light, Point Light, Spot Light 세 가지가 있다. 1) Directional Light - 무한히 먼 거리에 있는 광원에서 발사되는 빛 효과를 나타낸다. - 모든 객체에게 평행한 광선이기 때문에 태양과 같은 광원 효과를 나타내기 쉽다. 2) Point Light - 어떤 지점을 기준으로 모든 방향을 향해 동일한 세기의 빛을 발한다. 즉, 광원의 위치에 영향을 받는다. - 전구와 같은 광원을 나타내기 쉽다. - 단 동일한 세기로 발사된 빛은 광원과의 거리가 멀어질 수록 그 빛이 감쇠한다. 특정 빛이 광원으로부터 떨어진 거리에 따른 감쇠 방정식은 다음과 같이 구현된다. 3) Spot Light - 어떤 지점을 기준으로 특정 방향을 향한 원.. 2023. 8. 2.
[Graphics] 키프레임 애니메이션 키프레임 애니메이션이란, 컴퓨터 그래픽스에서 사용되는 애니메이션 기법 중 하나이다. 2D에서는 스프라이트 시트를 이용한 UV값을 변경하여 애니메이션 출력을 했었지만 3차원 공간에서는 객체는 정점들의 집합으로 이뤄져 있다. 때문에 애니메이션을 출력하는 데는 다른 방식을 요구한다. 여러 기법 중 하나인 키프레임 애니메이션은 애니메이션의 동작들을 주요 프레임들로 구성한다. 이후 중간 프레임들은 보간을 통해 계산되어 자연스러운 움직임을 보이게 된다. 키프레임의 생성 단계에서 파일 내부에는 각 프레임의 위치, 회전, 스케일 값을 가지는 정보를 저장한다. 주요 프레임별로 나눠서 저장이 되며 이후 이 프레임들 사이를 보간을 통해서 자연스러운 움직임을 출력한다. 직선 움직임의 경우 선형 보간을 사용하고, 곡선 움직임의.. 2023. 6. 28.