DirectX12의 GPU메모리 관리의 핵심인 Descriptor Heap 정리Descriptor Heap은 Descriptor들이 저장된 GPU힙 메모리를 의미한다.Descriptor Heap을 이해하기 위해서는 먼저 Descriptor가 무엇인지 정확히 알아야 한다
DirectX12의 Root SIgnature개념에 대한 정리루트 시그니처를 간단히 말하자면 GPU에서 돌아가는 Shader프로그램이 특정 Register에 어떤 데이터를 가리키게 할것인가? 를 정의해주는 GPU에 할당된 정보라고 할 수 있다.문법은 위와 같다. 특이한
22년 7월~8월 까지 DXR프로그래밍을 열심히 했다.깃헙 링크코딩을 진횅하면서 이해한 DXR개념들을 간단히 정리한다.DXR은 2018년 10월 기존 DirectX12 API에 새로 추가된 기능이다.DXR의 약자는 (DirectX Raytracing)이다. 이전까지 R
DXR로 Ray tracing 렌더링을 하기 위해서는 렌더링할 Object들의 데이터(Vertex,Index)를 특수한 가속 구조(Acceleration Structure)에 넣어줘야 한다.왜 이러한 가속구조에 렌더링 데이터를 넣어줘야하는지 이해하는게 중요하다.그 이유
DXR프로그래밍을 진행하기 위해서는 Shader Binding Table,줄여서 SBT란 녀석을 만들어야 한다.mesh별로 Draw콜을 할 수 있는 Rasterization Pipeline과 달리 DXR Ray Tracing은 화면을 DispatchRay콜로 한번에 그
노말맵의 개념과 DXR에서의 구현기노말맵은 위 그림과 같이 평평한 표면이 마치 평평하지 않은것처럼 보이게 하는 트릭이다.적은 계산복잡도로 월등한 퀄리티의 결과물을 낼 수 있어서 현대 게임에서도 많이 사용되는 기술이다.노말맵은 텍스처의 일종으로 rgb값들이 2차원으로 나
DXR프로젝트에 구현한 PBR내용 정리PBR이 대세가 되기전에 자주 사용하던 Phong Shading등의 방식들은 다음과 같은 문제가 있다.그래서 미세면(Microfacet)의 특성을 고려한 물리적으로 말이되는 렌더링방식인 PBR이 등장한다.참고한 사이트: https&
DXR프로젝트에서 실시간 프레임 확인 + 기능 on/off를 손쉽게 하기 위해서 GUI를 도입하고자 하였다.그렇게 적용하고싶은 GUI오픈소스를 찾다가 Imgui를 알게 되었다.https://github.com/ocornut/imgui52.4k의 별개수에서 신뢰
https://velog.io/@15ywt/DirectX12DXR-%EB%A0%8C%EB%8D%94%EB%9F%AC%EC%97%90-Imgui-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0이전 글에서는 DirectX12 DXR프로젝트에 Im
개요 23년 11월부터 24년 1월까지 DXR로 Path Tracer를 구현한 결과를 잊어버리전에 정리용으로 작성합니다. 개발 동기 https://github.com/TheRealMJP/DXRPathTracer 위 링크에 들어가면 볼 수 있는 Path Tracer처럼
Path Tracing 렌더링을 수행하기 위해서는 Random Number의 생성이 필수적입니다. 그 이유는위 렌더링방정식의 적분계산을위해 Random Sampling을 통한 Monte Carlo적분을 수행하기 때문입니다. GPU에서 Random Number를 생성하는