• Home
  • About
    • 게임 개발자 유정룡 photo

      게임 개발자 유정룡

      포트폴리오

    • Learn More
    • Email
    • Github
    • Bitbucket
  • Projects
    • All Projects
    • All Tags

DirectX11 공부 3일차(지금까지 정리)

03 Jun 2021

Reading time ~1 minute

DirectX

DirectX 는 GPU를 사용하는 API

Rendering Pipeline

IA -> VS -> RS -> PS -> OM

VS,PS는 코딩이 가능한 영역

순이다.

IA - Input Assembler

  • 기초 데이터 입력받음

vertex 정보 생성

하지만 프로그래머의 니즈를 모두 알기 힘들기 때문에 새로 자료형을 만들어서 생성

그 후에 CPU와 GPU의 데이터가 서로 다르기 때문에 변경

ID3D11Buffer -> vertext buffer 생성

하지만 이 데이터가 어떤 순서로 들어오는지 모르기 때문에

ID3D11InputLayout 을 생성해서 정해줌

점들을 정해줬지만, 어떻게 이어야 할지 정해줘야 하기 때문에

D3D11_PRIMITIVE_TOPOLOGY로 결정

하지만, 삼각형을 만들때 상관 없지만, 사각형을 만들때 삼각형 두개를 만들면 메모리 낭비가 생기기 때문에 중복된 정점을 줄여야 함

ID3D11Buffer -> input buffer 생성

VS - Vertex Shader

공간 변환

  • Constant Buffer

공간

Local - World - View - Projection - Clip - NDC - Viewprot

의 공간이 존재함.

Local - World - View - Projection - Clip 은 RS에서

나머지는 PS에서 변환 가능

RS - Rasterizer

NDC - Viewprot

NDC와 Clip은 좌표계가 같다

다만, Clip 은 동차공간

NDC 은 동차가 정규화된 유클리드 공간

정규화된 공간에 Viewport데이터를 넣음

그 다음에 Raterizer State를 통해 어떤 면이 앞면인지, 어떤 면이 보여줄지 등 결정

PS - Pixel Shader

RS에서 설정해준 픽셀들만 세팅

  • Shader Resource

  • Sampler State

OM - Output Merger

Render Target, Blend State 등 세팅

리소스

Resource View

Buffer Texture



DirectX Share Tweet +1