본문 바로가기

그래픽스11

[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] 오클루전 컬링(Occlusion Culling) Occlusion Culling ? 오클루전 컬링은 컴퓨터 그래픽스에서 렌더링 성능을 향상시키기 위한 기술 입니다. 다른 물체의 뒤에 있어서 가려진 물체를 식별하여 불필요하다 판단된 객체를 식별하여 렌더링 과정에서 제외시키는 기술 입니다. 즉, 보는 시야에 들어오지 않는 객체는 렌더링 하지 않으므로 성능을 높일 수 있습니다. 위의 이미지는 기존에 정리한 프러스텀(+컬링),백페이스컬링 그리고 오클루전컬링을 쉽게 이해할 수 있습니다. 오클루전 컬링은 아래의 단계로 작동합니다. 1. 가시성 정보 수집 카메라 위치에서 볼 수 있는 영역을 가리키는 시야 프러스텀(View Frustum)을 계산합니다. 그 후 프러스텀 내에서 어떤 객체가 얼마나 보이는지를 판단하는 가시성 정보를 수집합니다. 2. 오클루전 정보 생성.. 2023. 8. 23.
[Graphics] D3D11 렌더링 파이프 라인(Rendering Pipeline) 렌더링 파이프라인 ? DirectX 3D Graphics에서의 렌더링 파이프라인은 그래픽스 카드에서 3D 모델을 렌더링하는 과정을 각각의 단계별로 나타낸 것입니다. 렌더링 파이프라인은 크게 두가지 버전으로 나뉘게 됩니다. 1. 고정 함수 파이프라인 2. 프로그래머블 파이프라인(DirectX 10 이후부터 지원 현재 배우는 기준은 DirectX11) 두가지의 버전중에서 프로그래머블 파이프라인이 더 우연하며 강력한 기능을 제공합니다. 때문에 프로그래머블 파이프라인을 기준으로 각 단계에 대하여 정리하도록 합니다. 렌더링 파이프 라인의 단계(생략가능, 필수) 1. 입력 어셈블러(IA - Input Assembler) 정점(버텍스)데이터를 가져와 점, 선, 삼각형 등의 프리미티브를 조합 생성합니다. 버텍스 버퍼,.. 2023. 8. 10.
[Graphics] RTT & Post Effect & Blur 관계성 앞에서 정리한 RTT(Render To Textur), Post Effect, Blur 는 그래픽스에서 연관되어 사용되는 개념들 입니다. RTT(Render to Texture) 요약 RTT는 렌더링된 결과를 텍스처로 저장하는 기술입니다. 일반적으로 렌더링된 이미지를 화면에 바로 출력하지 않고 추가적인 텍스처에 렌더링 결과를 저장하여 메모리에 보관하는 작업을 합니다. 이렇게 메모리에 저장된 텍스처는 다른 작업을 위하여 사용이 가능합니다. https://rhksgml78.tistory.com/371 [Graphics] 텍스처에 그리기 RTT(Render To Texture) Render To Texture ? 렌더투텍스처(Render To Texture)(이하 RTT)를 의미합니다. 3D 그래픽스에서 매우.. 2023. 8. 7.
[Graphics] 블러(Blur) Blur ? 블러는 영상이나 그래픽의 세부 정보를 흐려지게(흐릿하게)만드는 시각적 효과를 의미합니다. 이미지의 선명도를 감소시켜 색상과 형태의 경계를 부드럽게 만들거나 이미지를 불분명하게 만들어 장면에 광택감을 부여하는 데 사용됩니다. 또한 블러 효과는 다른 많은 효과들의 기본이 됩니다. 예를들어 블룸, 뎁스 오브 필드, 풀스크린 글로우, 글로우 맵핑, 헤일로 글로우, 엣지 글로우, 그림자 경계, 물속 효과 등등이 있습니다. DirectX 11에서는 실시간 블러 효과를 위해서 우선 화면을 텍스처에 그린다음 텍스처에 블러를 적용시킨 뒤 화면에 텍스처를 그리는 방식으로 진행이 됩니다. 텍스처에 그려진 장면에 2D 이미지를 프로세싱 하는 것을 후처리 또는 포스트 프로세싱 이라고 합니다. Blur의 적용 단계(.. 2023. 8. 7.