개인 프로젝트
-
GPU Query개인 프로젝트 2024. 9. 19. 22:29
목차개요사용법Direct3D 11객체 생성질의 방법질의 결과 얻기Direct3D 12객체 생성질의 방법질의 결과 얻기GPU TimerDirect3D 11Direct3D 12Hardware Occlusion CullingDirect3D 11Direct3D 12가시성 판단오클루전 검사 렌더링마치며Reference개요이 글에서는 Direct3D 11/12로 구현된 샘플을 통해 Query(이하 쿼리) 객체의 사용 방법과 예시를 살펴보도록 하겠습니다. 쿼리 객체는 Graphics API에서 GPU 정보를 질의하기 위해 제공하는 객체로 이를 통해 여러가지 GPU 정보를 얻을 수 있습니다. 이 글은 Direct3D만을 다루지만 Vulkan이나 Metal과 같은 다른 Graphics API에서도 GPU 정보 질의를 위..
-
오브젝트 피킹 (Object Picking)개인 프로젝트 2024. 7. 13. 22:21
목차개요구현 방식객체에 Id 부여Id 렌더링객체 선택마치며개요게임 엔진의 에디터 등에서 화면에 표시된 게임 객체를 선택할 때 사용하는 Object Picking을 가볍게 살펴보도록 하겠습니다. 여기서 소개할 방식은 언리얼 엔진의 HHitProxy를 통해 구현된 방식으로 여기서는 제 개인 프로젝트의 코드를 통해서 간략화된 구현을 살펴보겠습니다.구현 방식우선 아주 고전적인 Object Picking 구현 방식을 살펴보겠습니다. 해당 방식은 다음과 같은 순서로 진행됩니다.마우스의 X, Y 위치를 얻어서 카메라 공간의 좌표로 변경.카메라의 위치에서 마우스의 카메라 공간 좌표를 향하는 광선을 생성해당 광선으로 게임 객체에 대한 충돌 검사광선에 충돌한 객체를 거리순으로 정렬하여 가장 가까운 객체를 선택옛날부터 널리..
-
Specular IBL개인 프로젝트 2024. 5. 24. 17:48
목차개요Specular BRDFSpecular DSpecular FSpecular GMonte Carlo IntegrationImportance SamplingPDF, CDF, InverseCDFFull approximationSplit sum approximation마치며Reference개요Spherical Harmonics 글에서 Diffuse IBL을 주제로 Irradiance Map에 대해 알아보았던 것에 이어서 이번에는 Specular IBL에 대해 알아보도록 하겠습니다.Specular 반사는 Diffuse 반사와 다르게 조명과 카메라의 방향에 따라 음영의 변화가 급격하게 이뤄질 수 있으므로 Diffuse IBL과는 다른 방식으로 접근하게 됩니다.여기서는 이미지를 통하여 Specular 반사를 ..
-
Bindless Resource개인 프로젝트 2024. 3. 20. 22:23
목차개요Resource BindingDirect3D 11의 경우Direct3D 12의 경우Bindless ResourceDynamic Resource구현 사례이용 사례Ray TracingVisibility Buffer마치며Reference개요Bindless Resource는 셰이더에서 리소스를 사용하는 새로운 방식으로 Direct3D 12, Vulkan, Metal과 같은 최신 그래픽스 API에서 제공되는 기능입니다. 이 글에서는 Bindless Resource를 사용하는 경우 어떤 면이 달라지는지 자체 구현한 Direct3D 12 샘플을 통해 살펴보겠습니다. Direct3D 11, 12의 API를 예시로 설명할 것이기 때문에 해당 API에 대한 지식이 있으면 이해하기 쉬울 것입니다. 다만 모르셔도 Bi..
-
빛 전파 볼륨 (Light Propagation Volume)개인 프로젝트 2024. 1. 13. 20:57
목차 개요 구현 방식 RSMs DownSampling Light Injection Geometry Injection Propagation Rendering 마치며 Reference 개요 Light Propagation Volume(이하 LPV)은 실시간으로 전역 조명(Global Illumination, 이하 GI)을 근사하는 기법의 하나입니다. 전에 소개했던 Reflective Shadow Maps(이하 RSMs)를 이용하기 때문에 RSMs에 대한 전반적인 이해가 필요합니다. 또한 광원을 구면 조화 함수(Spherical Harmonics, 이하 SH)를 통해 근사하기 때문에 SH에 대해서도 알고 있어야 합니다. 기억을 되살리실 수 있도록 이전 글의 링크를 아래에 첨부합니다. Reflective Sha..
-
-
-