
개요이번 시간에는 Instanced Drawing이라는 개념에 대해서 알아보겠습니다.Instanced Drawing이란 같은 Geometry 여러 개를 하나의 DrawCall로 그리는 것을 뜻합니다.여기서 말하는 Instance란 한 번에 그려지는 개체들을 뜻합니다.DirectX12에는 DrawIndexedInstanced라는 함수가 있는데 여기 InstanceNum 인자로 5를 보내게 되면 5개의 Instance가 한 번의 DrawCall로 그려지게 됩니다.각 Instance 별로 별도의 Scale, Rotation, Translation, Color 정보를 주는 것도 가능합니다.물론 Instanced Drawing 대신 5번의 일반적인 Draw를 통해서도 같은 효과를 낼 수 있습니다.다만, 이렇게 할..
개요이번 시간에는 DirectX12의 GPU 동기화에 대해서 알아보겠습니다. DirectX12는 기존 버전의 DirectX나 OpenGL과는 다르게 CPU와 GPU의 동기화를 위해 별도의 명시적인 작업을 해주어야 합니다. 기존 DirectX에서는 관련 작업을 driver가 자동으로 해주어서 그래픽 프로그래머가 좀 더 간편하게 코딩할 수 있었지만, DirectX12부터는 프로그래머가 직접 컨트롤 할 수 있게 되어서 어플리케이션에 좀 더 알맞는 코딩을 할 수 있게 되었습니다. 하지만 프로그래머가 더 신경써야 할 부분이 많아지기는 했습니다. 어찌됐든 GPU 동기화는 DirectX12에서 꼭 필요한 요소입니다. GPU 동기화를 하지 않은 경우 CPU와 GPU가 코드로 의도한 순서대로 동작하지 않고, GPU에서 ..

DirectX12 프로그래밍을 하다 보면 디버깅이 필요한 시점이 있습니다.Visual Studio로 디버깅을 해서 중단점이 잡히면 그나마 다행이지만, 화면이 그냥 까맣게 나오는 경우도 있습니다.의심되는 코드를 수정해보거나 의심되는 데이터를 따로 뽑아서 출력해봄으로써 확인해 볼 수도 있습니다.하지만 이렇게 파악한 데이터는 한정적이고, 문제가 생길 때마다 테스트 코드를 작성하면 매우 많은 시간이 소요될 것입니다.대신 Microsoft에서 제공하는 디버깅 툴인 PIX를 활용하면 그래픽 관련 디버깅을 매우 간편하고 빠르게 할 수 있습니다. 툴은 이곳에서 다운 받을 수 있습니다.https://devblogs.microsoft.com/pix/download/ 다음으로는 PIX를 통해 DirectX12 프로그램을 디..

이번 시간에는 DirectX12를 활용해서 PostProcessing을 하는 예제를 살펴보겠습니다. 여기서 Post란 "~이후에"를 뜻하고, Processing이란 "처리"를 뜻합니다, 따라서 합쳐서 "후처리"라고 표현을 합니다.그래픽스에서는 보통 씬을 렌더링한 후 생성된 이미지에 별도 효과를 주는 것을 말합니다.PostProcessing으로 줄 수 있는 효과는 매우 다양하지만 이번 시간에는 가장 기본적인 GrayScale에 대해서만 다루겠습니다. 먼저 예제에서 생성된 이미지는 아래와 같습니다.PostProcessing 개요PostProcessing은 일반적으로 2개의 Pass를 사용합니다.1) 3D World를 Texture에 렌더링하는 Pass2) 만들어진 Texture를 input으로 별도 효과를 ..
- Total
- Today
- Yesterday
- reference type
- perspective projection
- 값 형식
- C#
- MeshProcessing
- Unity
- Mesh
- 참조 형식
- NDC
- transform
- 최적화
- Unreal
- CollisionDetection
- VTK
- 루빅스큐브
- opengl
- Scriptable Render Pipeline
- AABB
- RL
- Bounding Volume Hierarchy
- value type
- 유니티
- normalized device coordinate
- collision detection
- Transformation
- Mesh Processing
- RubiksCube
- DirectX12
- SRP
- 강화학습
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |