본문 바로가기

공부/Graphics15

[Graphics] DirectX & UnrealEngine Pipeline 정리 다이렉트X 그래픽스 렌더링 파이프라인 1.IA - Input Assembler : 정점 데이터를 수집하는 단계 2.VS - Vertex Shader : 각각의 정점에 대한 연산을 수행 3.HS - Hull Shader : 테셀레이션 적용시 첫 단계 4.TS - Tessellator : 헐셰이더에서 입력된 정보를 기반으로 테셀레이션(쪼개기) 및 필요한 추가 정점 생성 5.DS - Domain Shader : 테셀레이터에서 생성된 정점에 대하여 추가적인 연산을 진행 6.GS - Geometry Shader : 정점 데이터를 기반으로 새로운 기하학적 형태를 생성 7.RS - Resterizer : GS에서 생성된 형태를 픽셀로 변환 8.PS - Pixel Shader : 생성된 픽셀에 대하여 연산을 실행하며 .. 2024. 2. 12.
[Graphics] 빌보드 렌더링(Billboard Rendering) Billboard Rendering ? 빌보드 렌더링은 컴퓨터 그래픽스에서 3D 환경에서 객체의 2D 이미지를 화면에 표시하는 기술입니다. 3D객체가 항상 카메라(바라보는시점)를 향하고 있도록하여 어느 방향에서 보아도 같은 이미지가출력됩니다. 빌보드 렌더링기술은 주로 나무, 꽃, 포스트 등등 3D 공간에서 화면에 표시되어야 할 대상을 효과적으로 처리하기 위하여 사용됩니다. 빌보드 렌더링의 사용 예시 1. 2D 객체 표시 3D공간에 있는 객체를 2D이미지로 화면에 표시해야 할 때 빌보드 렌더링을 사용하여 어느 각도에서 바라보아도 정면을 향하도록 할 수 있습니다. (ex. 플레이어, 몬스터 등의 객체위에 체력바) 2. 효율적인 렌더링 많은 양의 객체를 모델링하기 어려울때 자원이 많이 필요한 3D모델 대신 필.. 2023. 8. 24.
[Graphics] LOD(Level Of Detail) Level Of Detail ? Level Of Detail(이하 LOD)는 컴퓨터 그래픽스에서 사용되는 최적화 기술입니다. 원거리에서 보이는 객체들을 더 단순화된 형태로 표현하여 렌더링 성능을 향상시키기 위하여 사용됩니다. 게임이나 3D 시뮬레이션에서는 화면에 가까이 있는 객체는 상세하게 렌더링되어야 하지만 원거리에 있는 객체는 세부적인 표현이 덜 중요하므로 조금더 단순화된 형태로 표현하는 것이 성능을 향상시킬 수 있습니다. 이때 사용하는 기법이 LOD 입니다. LOD의 특징은 아래와 같습니다. 높은 LOD 화면에 가까이 있는 객체는 높은퀄리티로 상세하게 렌더링 됩니다. 객체의 세부적인 모델과 텍스처를 사용하여 보다 현실감이있도록 표현합니다. 낮은 LOD 화면에 멀리 있는 객체는 낮은퀄리티로 좀더 단순.. 2023. 8. 23.
[Graphics] 오클루전 컬링(Occlusion Culling) Occlusion Culling ? 오클루전 컬링은 컴퓨터 그래픽스에서 렌더링 성능을 향상시키기 위한 기술 입니다. 다른 물체의 뒤에 있어서 가려진 물체를 식별하여 불필요하다 판단된 객체를 식별하여 렌더링 과정에서 제외시키는 기술 입니다. 즉, 보는 시야에 들어오지 않는 객체는 렌더링 하지 않으므로 성능을 높일 수 있습니다. 위의 이미지는 기존에 정리한 프러스텀(+컬링),백페이스컬링 그리고 오클루전컬링을 쉽게 이해할 수 있습니다. 오클루전 컬링은 아래의 단계로 작동합니다. 1. 가시성 정보 수집 카메라 위치에서 볼 수 있는 영역을 가리키는 시야 프러스텀(View Frustum)을 계산합니다. 그 후 프러스텀 내에서 어떤 객체가 얼마나 보이는지를 판단하는 가시성 정보를 수집합니다. 2. 오클루전 정보 생성.. 2023. 8. 23.
[Graphics] 클리핑(Clipping) Clipping ? 클리핑 기법은 컴퓨터 그래픽스에서 특정 영역 이나 객체를 제한하여 잘라내는 기술입니다. 그래픽스 파이프라인의 여러 단계에서 객체를 처리하거나 표시하기 전에 사용하여 렌더에 불필요한 부분을 제거하거나 표시할 영역을 지정할 수 있습니다. 클리핑 작업은 파이프라인에서 라이팅과 쉐이딩이 적용된 이후 진행 됩니다. 클리핑은 주로 두 가지 유형으로 나누어볼 수 있습니다. 1. 화면(Screen)클리핑 또는 뷰포트(Viewport) 클리핑 이미지를 화면에 출력할 때 화면의 영역을 벗어나는 부분을 제거하는 것을 의미 합니다. 화면 크기에 맞지 않는 객체나 시야 영역을 벗어나는 부분은 렌더링하지 않도록 클리핑 되고 화면에 출력되는 영역만 보여주는 역할을 합니다. 즉, 화면에 노출되는 최소한의 영역만큼.. 2023. 8. 23.
[Graphics] 절두체 컬링(Frustum Culling) Frustum Culling ? 절두체(프러스텀)컬링은 컴퓨터 그래픽스에서 불필요한 렌더링 작업을 줄이기 위한 최적화 기법 입니다. 카메라의 시야 영역을 나타내는 프러스텀과 객체의 경계를 비교하여 프러스텀의 내부에 있지 않는 객체들을 렌더에서 제외하여 렌더링 작업을 줄이는 목적으로 사용됩니다. 쉽게 이해하기위해서 아래의 이미지를 참고하도록 합니다. 프러스텀은 카메라의 시야를 나타내는 피라미드 형태의 공간 입니다. (위이미지의 푸른색 범위) 프러스텀 컬링은 푸른색 범위내에 포함되지 않는 객체를 렌더링 대상에서 제외함으로써 성능의 향상(최적화)을 기대할 수 있습니다. 프러스텀 컬링은 다음처럼 작동합니다. 1. 카메라의 프러스텀 계산 카메라의 시야 영역을 나타내는 프러스텀(영역)을 계산합니다. 프러스텀은 주로.. 2023. 8. 23.