본문 바로가기

전체 글84

[CS] GPGPU GPGPU란? GPGPU는 General Purpose computing on Graphics Processing Unit의 약자이며 일반적으로 CPU가 처리하던 연산을 GPU에서 처리하도록 하는 것을 말한다. 보통 CPU는 복잡한 연산을 처리하기 위한 장치이고, GPU는 오로지 그래픽 부분의 연산만을 담당하는 장치이지만 CPU에서 담당할 경우 부하가 많이 걸리는, 예를 들면 단순하지만 반복 작업이 많이 들어가는 연산을 넘겨 받아 처리를 할 수 있다. 이런 방법은 GPU가 그래픽 처리를 위해 대량의 병렬 처리 유닛을 보유하고 있기 때문에 가능한 것으로 기존에 적용된 병렬 처리 기능을 강화하여 연산을 훨씬 대량, 효율적으로 가능케 한다. 현재는 각 그래픽 카드 회사마다 각 제품에 특화된 플랫폼이 있으며 대.. 2023. 7. 11.
[Graphics] 키프레임 애니메이션 키프레임 애니메이션이란, 컴퓨터 그래픽스에서 사용되는 애니메이션 기법 중 하나이다. 2D에서는 스프라이트 시트를 이용한 UV값을 변경하여 애니메이션 출력을 했었지만 3차원 공간에서는 객체는 정점들의 집합으로 이뤄져 있다. 때문에 애니메이션을 출력하는 데는 다른 방식을 요구한다. 여러 기법 중 하나인 키프레임 애니메이션은 애니메이션의 동작들을 주요 프레임들로 구성한다. 이후 중간 프레임들은 보간을 통해 계산되어 자연스러운 움직임을 보이게 된다. 키프레임의 생성 단계에서 파일 내부에는 각 프레임의 위치, 회전, 스케일 값을 가지는 정보를 저장한다. 주요 프레임별로 나눠서 저장이 되며 이후 이 프레임들 사이를 보간을 통해서 자연스러운 움직임을 출력한다. 직선 움직임의 경우 선형 보간을 사용하고, 곡선 움직임의.. 2023. 6. 28.
[Graphics] 포워드 렌더링 and 디퍼드 렌더링 1. 포워드 렌더링 전통적인 방식의 렌더링으로 메시 하나를 그리면서 모든 계산을 한 번에 시행하는 방법으로 라이팅의 계산 수는 메시의 수에 비례한다. 때문에 여러 개의 리얼타임 라이팅을 다루는 데 취약하다. (라이팅에 대한 계산을 메시 하나 당 라이트 수에 비례해서 계산을 하기 때문) 장점 비교적 저사양에서도 잘 작동하며, PC의 경우 안티앨리어싱 처리를 하드웨어서 지원 받기 때문에 거의 완벽한 처리를 할 수 있고, 반투명 처리도 문제 없이 동작한다. 오랫동안 사용된 렌더링 방식이기 때문에 문제가 생겨도 회피하거나, 해결책이 만들어져 있는 경우가 많다. 해상도가 올라가도 렌더링에 들어가는 비용이 디퍼드 렌더링에 비해 적다. 단점 라이팅 연산이 느리고, 여러 오브젝트로 복잡한 화면을 구성하거나 폴리곤이 많.. 2023. 6. 27.
[Graphics] 쉐도우 매핑 그림자는 컴퓨터 그래픽을 더욱 현실감 있게 만드는 요소다. 이때 필요한 개념이 바로 쉐도우 매핑이고, 간단하게 설명하면 다음과 같다. 1. 쉐도우 매핑(Shadow Mapping) 은 그림자를 처리하기 위해 Vertex Shader 에서 light source 로부터 각 surface 점까지의 깊이값과 visibility 값을 저장하는 기법을 의미한다. 2. Pass 1 에서는 각 표면까지의 깊이값 z 를, Pass 2 에서는 실제 점까지의 거리 d 를 저장하여, 이를 비교해서 Shadow 여부를 결정한다. Nearest Sampling 과 Bilinear Interpolation 둘 다 별 도움은 되지 않으므로, PCF(Percentage Closer Filtering) 기법을 사용하여 Visibili.. 2023. 6. 26.