본문 바로가기

DirectX/DirectX11 기초 개념

(5)
Direct3D 리소스 DirectX 11로 시작하는 3D 게임 프로그래밍 // 이용희 지음 // 프레릭 3D 화면을 구성하고 그리려면 여러 가지 형태의 데이터가 필요하다. 이러한 데이터는 기하학적 데이터(정점 데이터), 텍스처, 셰이더 데이터 등을 포함하며 Direct3D 렌더링 파이프라인에서 참조할 수 있는 메모리 영역에 저장되어야 한다. 이러한 리소스 데이터는 미리 작성된 것을 파일로부터 읽어들이거나 프로그램 실행 중에 동적으로 생성할 수 있다. 리소스 데이터는 응용 프로그램(CPU)에서 생성되고 GPU에서 렌더링을 위해 사용하는 것이 일반적이다. Direct3D에서는 이러한 메모리를 효율적으로 참고하고자 리소스(Resource)라는 개념과 이와 관련된 인터페이스를 제공한다. Direct3D에서 리소스는 Direct3D ..
Direct3D 11 렌더링 파이프라인 DirectX 11로 시작하는 3D 게임 프로그래밍 // 이용희 지음 // 프레릭 1. Direct3D 11 렌더링 파이프라인 Direct3D 렌더링 파이프라인은 GPU를 사용하여 메모리의 리소스(정점/인덱스 버퍼, 텍스처)를 2차원 이미지(픽셀)로 렌더링하는 일련의 과정을 의미한다. 이 파이프라인은 여러 개의 작은 논리적인 단위(파이프라인 단계, Pipeline Stage)로 구성되며 프로그램 가능 단계와 고정 프로그램 단계로 구분된다. 고정 프로그램 단계는 Direct3D 라이브러리에서 모든 처리가 진행되며 응용 프로그램에서 프로그래밍 할 수 없는 단계이다. Input Assembler Stage Tessellator Stage Stream Output Stage Rasterizer Stage Out..
Direct3D 11 디바이스 DirectX 11로 시작하는 3D 게임 프로그래밍 // 이용희 지음 // 프레릭 반복 학습해야 할 내용 - Direct3D Device와 DeviceContext 개념 이해 1. Direct3D 디바이스 Direct3D 디바이스는 그래픽 출력을 위하여 그래픽 카드(또는 어댑터)를 추상화한 소프트웨어 객체이다. Direct3D를 사용하여 3D 그래픽 응용 프로그램을 작성하려면 하드웨어 장치인 그래픽 카드 또는 어댑터에 대응되는 소프트웨어 객체가 필요하다. 이러한 객체를 Direct3D 디바이스라고 한다. 그러므로 Direct3D 응용 프로그램을 작성하기 위한 첫 번째 과정은 Direct3D 디바이스를 생성하는 것이다. Direct3D 응용 프로그램은 Direct3D 디바이스(실제로는 디바이스 인터페이스)..
3D 그래픽과 Direct3D DirectX 11로 시작하는 3D 게임 프로그래밍 // 이용희 지음 // 프레릭 그래픽 어댑터 (Graphic Adapter) 그래픽을 출력하는 데 필요한 하드웨어와 소프트웨어 기능을 추상화한 개념 그래픽 디바이스라고도 한다. 어떤 디바이스는 그래픽 카드와 같은 하드웨어로 구현되고 어떤 디바이스는 Direct3D 참조 래스터라이저(Reference Rasterizer)와 같은 소프트웨어로 구현된다. Front Buffer : 현재 화면에 출력되고 있는 프레임 버퍼 Back Buffer : 전면 버퍼가 아닌 버퍼 Swap Chain : 전면 버퍼와 후면 버퍼들이 체인의 형태로 차례대로 연결된 프레임 버퍼들의 집합. 응용 프로그램은 전면 버퍼에 직접 프레임을 출력하지 않고 후면 버퍼에만 출력한다. Pres..
3D 그래픽의 이해 DirectX 11로 시작하는 3D 게임 프로그래밍 // 이용희 지음 // 프레릭 렌더링 : 3D 게임 세계의 객체들을 컴퓨터 화면(2D)으로 그리는 것 메시 : 객체의 외관을 표현하기 위하여 연결된 점들의 집합 일반적으로 삼각형들의 집합으로 표현한다. 종종 모델이라고도 한다. 텍스쳐 맵이라는 2차원 이미지가 메시의 질감과 색상을 표현하기 위해 사용될 수 있다. 정점(Vertex) : 메시를 구성하는 점들 기하학적 모델링: 하나의 좌표계에서 객체의 모델 메시를 적당한 개수의 다각형, 선분 또는 점들의 집합으로 근사하여 표현하는 것 와이딩 순서: 메시를 구성하는 다각형의 정점들을 나열하는 순서, 어떤 순서로 연결되는지를 나타낸다. 와이딩 순서는 은면 제거(Back Face Culling)를 수행하기 위해 ..