DX12
-
PathTracing (1/2)Graphics/Graphics Study 자료 2024. 3. 1. 23:30
PathTracing(1/2)최초 작성 : 2024-03-01 마지막 수정 : 2024-03-01 최재호 목차1. 목표 2. 내용 3. 구현 결과 3.1. Cornell box orig scene 3.2. Cornell box sphere scene 3.3. Hyperion sphere light scene 3.4. Hyperion rect lights scene 4. 실제 구현 코드 5. 레퍼런스 1. 목표다양한 BSDF 를 평가해보고 변형해볼 수 있는 테스트 베드를 위한 PathTracer 를 제작합니다. 이 글은 총 2개로 나뉘며, 첫 번째는 PathTracing 의 구현 기반을 마련하는 것을 목표로 합니다. 두 번째 글은 다양한 BSDF 를 도입하여 여러 가지 재질을 표현하는 것을 목표로 할 예정..
-
AsyncCompute - DX12, VulkanGraphics/기본 2024. 2. 13. 20:31
AsyncCompute - DX12, Vulkan 최초 작성 : 2024-02-13 마지막 수정 : 2024-02-13 최재호 목차1. 목표 2. 내용 2.1. 사전에 알아야 할 것들 2.1.1. CommandQueue 2.1.2. 동일한 CommandQueue 내 렌더커맨드의 실행 순서 2.1.3. Resource Barrier 2.2. CommandQueue 간의 동기화 2.3. CommandQueue 간의 동기화 구현 2.3.1. 현재 CommandQueue 에서 실행 한 렌더커맨드가 모두 실행될 때까지 기다릴 수 있도록 동기화 정보를 제공 2.3.2. 특정 CommandQueue 가 앞서 다른 CommandQueue 에서 받은 동기화 정보를 사용 2.4. 실제 사용 예제 3. 테스트 케이스 3.1..
-
RayTraced Ambient Occlusion(RTAO)Graphics/Graphics Study 자료 2024. 1. 31. 23:53
RayTraced Ambient Occlusion(RTAO) 최초 작성 : 2024-01-31 마지막 수정 : 2024-01-31 최재호 목차 1. 목표 2. 내용 2.1. DispatchRay 코드 작성 2.2. Desnosing 2.2.1. RayPerPixel 개수를 늘린 경우 2.2.2. Temporal 2.2.2.1. RayAccumulation 2.2.2.2. Reprojection 2.2.3. Spatial 2.2.3.1. Jittering 2.2.3.2. Filtering 2.2.3.2.1. GaussianBlur(Separable) 2.2.3.2.2. BilateralFilter 3. 구현 결과 4. 실제 구현 코드 5. 레퍼런스 1. 목표 RayTracing 을 사용한 Ambient O..
-
Bindless Resource - DX12, VulkanGraphics/기본 2024. 1. 17. 23:55
Bindless Resource - DX12, Vulkan 최초 작성 : 2024-01-17 마지막 수정 : 2024-01-17 최재호 목차 1. 목표 2. 내용 2.1. Bindless Resource 에 대해서 2.2. API 별 Bindless Resource 2.2.1. Vulkan Bindless Resource 2.2.2. DX12 Bindless Resource 2.2.3. DX12 Dynamic Resources 3. 레퍼런스 1. 목표 레이트레이싱을 시작하면서 Bindless Resource 필요성을 느껴서 관련해서 알아본 것을 정리합니다. Bindless 리소스가 무엇인지 알아보고 어떤 장점이 있는지 알아봅시다. DX12, Vulkan 의 Bindless Resource 의 사용법과 특..
-
jEngine Library 빌드 관련Graphics/Renderer Lab 2023. 12. 29. 22:55
Library 빌드 관련해서 겪은 이슈들을 정리합니다. 추가 사항이 있는 경우 계속 이 문서를 업데이트 할 예정입니다. 최초 작성 : 2023-12-29 마지막 수정 : 2024-03-23 최재호 목차 1. ShaderConductor [Deprecated] 2. DirectXTex 3. xxHash, CityHash 4. DirectX12 Agility SDK 1. ShaderConductor [Deprecated] Updated 2024-01-11 : Shader Language 를 HLSL, DXC 로 DX12 와 Vulkan 쉐이더 컴파일에 문제 없습니다. 추후 Metal 이나 다른 API로 포팅이 필요한 경우 다시 사용할 예정입니다. ShaderConductor 는 hlsl 을 사용하여 Vulk..
-
DX12 Shader Visible Descriptor HeapGraphics/기본 2023. 8. 5. 00:37
DX12 Shader Visible Descriptor Heap 최초 작성 : 2023-08-05 마지막 수정 : 2023-08-05 최재호 목표 Shader visible descriptor heap(Online descriptor heap), CPU only visible descriptor heap(Offline descriptor heap) 에 대해서 알아보고 UE5.2 에서의 구현도 확인해 봅시다. 내용 DX12 리소스 중 버퍼 또는 텍스처와 같이 Shader 에 전달하여 사용할 수 있는 리소스들이 있습니다. 이런 리소스를 Shader 에서 사용할 수 있게 하려면 Descriptor 를 만들어야 합니다. Descriptor 의 종류는 CBV, SRV, UAV, RTV, DSV, Sampler 등..