ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ DirectX 12 ] - Introduction
    DirectX 2021. 5. 15. 00:01

    Learning DirectX 12 – Lesson 1 – Initialize DirectX 12 | 3D Game Engine Programming (3dgep.com)

     

    Learning DirectX 12

    This article shows you how to initialize a DirectX 12 application.

    www.3dgep.com

    기초가 부족하여 해당 홈페이지의 글을 최대한 번역하며 연습하고자 작성합니다. 길고 힘든 여정이 될겁니다. 언젠가 돌아보았을 때 흐뭇하게 웃는 날이 왔으면 좋겠습니다.

     

    Introduction

     

    DirectX 12은 DirectX 11 SDK ( Software Development Kits )의 후속작이라고 할 수 있으며 DirectX의 도입 이후 최대의 구조적인 변화가 동반된 DirectX입니다. 이 변화의 주된 요인은 그래픽 프로그래머들에게 많은 힘을 실어주는 렌더링 SDK에 대한 게임 산업의 요구라고 할 수 있습니다. VSA ( Vendor Specific Attributes ) 드라이버는 복잡하기도 하고 종종 그래픽 프로그래머들이 통제할 수 없는 CPU의 성능에 대한 Overhead를 유발하기도 했습니다. Overhead의 대부분은 그래픽스 프로그래머들에게 통제권을 부여함으로써 해결할 수 있는 문제였습니다. 이전 DirectX SDK 버전에서 발생한 Overhead의 대표적인 사례가 Resource management였습니다. 드라이버는 렌더링 파이프라인 ( Rendering Pipeline )에서 사용되는 모든 리소스들의 생성과 소멸을 추적해야 했습니다. 만약 그래픽 프로그래머가 리소스들을 추적하는 임무를 수행할 수 있었더라면 드라이버가 모든 리소스를 추적하는 일을 피할 수 있는 경우가 제법 있었다는 뜻입니다. 개발자들에게 자체적으로 리소스를 관리할 수 있는 도구를 제공하게 되면 드라이버가 이 일을 하지 않게 되고 잘 만들기만 한다면 더 좋은 성능을 뽑아낼 수 있다는 뜻이기도 합니다.

    그러나 큰 힘에는 큰 책임이 따르는 법입니다. 이렇게 개발자들에게 더 많은 권한과 재량을 부여한다는 것은 DirectX 12을 배우는 것을 더욱 복잡하고 어렵게 만듭니다. 모든 일이 다 그러하듯 처음 마주치는 것들이 이해하기 벅차고 어려울 수 있습니다. 그러나 계속해서 배우고자 한다면 그만한 가치가 있는 일입니다. 이전 버전의 SDK도 잘 작동하지만 게임 산업에서 일을 찾거나 자신의 지식을 최신화 하고자 한다면 DirectX 12을 배우는 것이 좋습니다. 대부분의 게이밍 스튜디오가 DirectX 12나 Vulkan을 사용한 경험이 있다면 그래픽 프로그래머로서 당신을 고용할 가능성이 있습니다. ( 아마 )

    당신이 그래픽 프로그래밍에 대해 전혀 모르고 있더라도 걱정하지 마세요. 이 강의는 그래픽 어플리케이션을 개발해 본 경험이 없는 사람을 예상 독자로써 작성된 글입니다. 대신에 당신에게 C++ Programming에 대한 경험을 요구할 것입니다. 앞으로 당신은 C++11에 관련된 Threading, Lambdas, Smart Pointers 등이나 C++17의 디테일과 마주칠 텐데요,. 이 강의는 C++에 대한 강의가 아니기 때문에 그러한 디테일에 대해서는 모두 생략합니다.

    'DirectX' 카테고리의 다른 글

    [ DirectX 12 ] - Graphics Pipeline - 1  (0) 2021.05.20
    [ DirectX 12 ] - DirectX API  (0) 2021.05.15
Designed by Tistory.