DirectX

    DirectX 렌더 대상 뷰 (RTV) 생성

    Direct3D는 자원 자체를 직접 파이프라인의 단계에 묶지 않는다. 대신 반드시 자원에 대한 뷰(서술자)를 생성해서 그 뷰를 파이프라인 단계에 묶어야 한다. 특히 후면 버퍼를 파이프라인의 출력 병합기(Output Merger) 단계에 묶으려면(그래야 Direct3D가 장면을 후면 버퍼에 렌더링 할 수 있다.) 후면 버퍼에 대한 렌더 대상 뷰를 생성해야 한다. 우선 할 일은 교환 사슬에 저장되어 있는 버퍼 자원을 얻는 것인데, 이를 위해 다음과 같은 메서드를 사용한다. HRESULT IDXGISwapChain::GetBuffer( UINT Buffer, REFIID riid, void **ppSurface ); 1. Buffer: 얻고자 하는 특정 후면 버퍼를 식별하는 색인(교환 사슬에 버퍼가 여러 개 ..

    그래픽스 API 정의와 비교 분석

    로우 레벨 그래픽스 API들(Vulkan, DirectX, Metal, WebGPU)은 GPU와 구조 모델이 비슷하다. GPU는 원래 고정적인 코드들을 가졌었으며 수정 또한 불가능에 가까워서 성능이 떨어졌다. 이를 극대화 시키기 위해서 드라이버라는걸 새로 개발했다. 호출 순서 API 초기화 : GPU와 통신하기 위해 틀대를 만듬. 에셋 로딩 : 렌더링에 필요한 데이터 (셰이더) 또는 GPU와 통신하기 위한 명령들. 에셋 업데이트 프레젠테이션 : 커맨드 버퍼를 커맨드 큐에 보낸 후 스왑체인을 활용해서 렌더링. 2 3 4 반복 (프로그램 종료할 때 까지) GPU가 작업이 끝날 때까지 대기하고 사용한 모든 포인터들을 해제하고 데이터를 초기화한다. 비교 분석 라이브러리 파일을 가져올 시 API를 사용하기 위해선..

    DirectX 11 프레임워크 환경 설정하는 방법

    SDK 다운로드 사이트 https://www.microsoft.com/ko-KR/download/details.aspx?id=6812 Download DirectX SDK from Official Microsoft Download Center 중요! 아래에서 언어를 선택하면 전체 페이지 내용이 해당 언어로 신속하게 변경됩니다. 네덜란드어독일어러시아어스웨덴어스페인어영어이탈리아어일본어중국어(간체)중국어(번체)체코어포 www.microsoft.com https://github.com/jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX11 GitHub - jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX..

    렌더링 파이프라인 순서 및 기본 설명과 기본 지식 (Rendering Pipeline)

    고정 기능 파이프 라인( Fixed Pipeline ) - D3D에 미리 정해진 연산을 수행할 수 있도록 제공되는 기능이 고정기능 파이프라인이다. - 정해진 연산만 수행하므로 프로그래머가 GPU 연산에 관여할 수 없다. 프로그래머블 파이프라인 ( Programmable Pipeline ) - 고정 기능 파이프 라인에서 제공하는 것 이외의 효과를 내기 위해서 생겨난 프로그래머블 파이프 라인이다. - 프로그래머가 GPU의 연산에 직접 관여할 수 있다. - 고정적으로 제공하던 셰이더( Shader )를 프로그래머가 다양한 효과를 낼 수 있게끔 제공하게 되었다. 고정 기능 파이프라인과 프로그래머블 파이프라인의 차이점 - 프로그래머가 GPU 연산에 관여할 수 있냐? 없냐? 차이 < 정확하게 말하면, Fixed -..

    Low-Level Layer (HAL, HEL)

    HAL이란 Hardware Abstraction Layer의 약자로서, 컴퓨터 하드웨어와 소프트웨어 사이의 추상화 계층이다. 다음과 같은 성격을 지닌다. 소프트웨어가 수많은 종류의 하드웨어 상에서 별 차이 없도록 동작할 수 있도록 하는 역할을 하며, OS의 커널 또는 장치 드라이버에서 호출될 수 있다. 추상화 개념을 사용하는데, 추상화는 주어진 문제나 시스템 중에서 중요하고 관계있는 부분만을 분리하여 간결하고 이해하기 쉽게 만드는 과정이라고 할 수 있다. 하드웨어 부품에 따라 해야 할 복잡한 과정을 일관성 있고, 간략한 인터페이스로 제공하기 위해 같은 류의 하드웨어를 공통 명령어 집합으로 묶어두는데, 이를 "하드웨어 추상화"라고 한다. 소프트웨어와 하드웨어 사이에서 소프트웨어가 PC의 시스템 메모리, C..