에디의 우당탕탕 코딩공장

[DirectX11] DirectX 초기화 와 3D 그래픽의 이해

by 인턴 에디

1. 기본 지식

 

 

✔ COM(Computer Object Model) : DirectX의 프로그래밍 언어 독립성과 하위 호완성을 가능하게 하는 기술.

   - 흔히 COM객체를 인터페이스 라고 부른다.

   - COM 인터페이스는 new 키워드로 생성하지 않고, delete로 삭제하지 않는다. Release 메서드를 호출해 주어야 한다.

* COM 인터페이스들은 이름이 대문자 I로 시작한다. 예를 들어 2차원 텍스처를 나타내는 COM인터페이스는ID3D11Texture2D 이다.

//d3dclass.h
IDXGISwapChain* m_swapChain;
ID3D11Device* m_device;
ID3D11DeviceContext* m_deviceContext;
ID3D11RenderTargetView* m_renderTargetView;
ID3D11Texture2D* m_depthStencilBuffer;
ID3D11DepthStencilState* m_depthStencilState;
ID3D11DepthStencilView* m_depthStencilView;
ID3D11RasterizerState* m_rasterState;

  

1. 3D 그래픽 파이프 라인

  📌 객체의 표현과 렌더링

더보기

   - 렌더링(Rendering) : 3D 게임 세계의 객체들을 컴퓨터의 화면(2D)으로 그리는 것, 또는 그리는 과정.

   - 메시(Mesh) : 게임 공간 또는 게임 세계에서 하나의 객체(Object)를 시각적으로 표현하기 위한 개념.

   * 메시는 종종 모델(Model)이라고 한다.

   📌 좌표계

      (1) 2차원 좌표계  

         2차원 공간을 표현하기 위한 좌표계로 직교 좌표계(Cartesian Coordinate System)를 사용.

 

      (2) 3차원 좌표계

         3차원 공간을 표현하기 위한 좌표계로 직교 좌표계(Cartesian Coordinate System)를 사용.

 

      (3) 모델 좌표계와 월드 좌표계

          - 메시(Mesh)를 표현하기 위해 3차원 좌표계는 모델 좌표계(Model Space)와 월드 좌표계(World Space)로 구분할 수 있다. 보통 메시의 중심이 모델 좌표계의 원점이 되며 메시의 각 점은 이 원점에 상대적인 좌표로 표현된다.

          - 정점(Vertex) : 메시를 구성하는 점.

          - 모델(Model) : 객체를 표현하는 메시.

 

          - 월드 좌표계 : 게임 공간에 조재하는 객체들의 위치와 방향을 표현하기 위한 좌표계.

           게임 세계 전체를 하나의 통일된 좌표계로 표현하기 위한 좌표계. -> 게임에 나타나는 모든 객체에 적용될 수 있는 전역 좌표계(Global Coordinates System)이다.

 

  

  📌 와인딩 순서

    메시를 구성하는 다각형의 정점들을 나열하는 순서

 

 

 2. 변환 파이프라인(Transformation Pipeline)

    -1- 월드 변환(World Transformation)

    -2- 카메라 변환(View Transformation, Camera Transformation)

    -3- 투영 변환(ProjectionTransformation)

    -4- 화면 변환(Screen Transformation)

     

'Client > directX' 카테고리의 다른 글

[CGP(2)] DirectX11 기초 개념 복습(1)  (1) 2022.09.02
[DirectX11] Texture Normal(Bump) Mapping  (0) 2022.05.31
[DirectX11] Render States  (0) 2021.12.19
[DirectX11] 2D 원 그리기  (0) 2021.11.10
[DirectX 11] 3D Transformations  (0) 2021.11.04

블로그의 정보

에디의 우당탕탕 코딩 공장

인턴 에디

활동하기