GameChoi
Choi Programming
GameChoi
전체 방문자
오늘
어제
  • 분류 전체보기 (468)
    • C++ Algorithm & Study (184)
      • C++ & Algorithm Strategies (45)
      • Game Math & DirectX 11 (72)
      • Server + UE5 (29)
      • Lyra Clone Coding (37)
    • Create Game (284)
      • [Window API] Game Client & .. (55)
      • [DirectX] DirectX 2D & 3D (155)
      • [UE5] BLUEPRINT & C++ (74)
    • odds and ends (0)
      • English (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • client
  • protobuf
  • server
  • Player Move Packet
  • Player State
  • job queue
  • core
  • Network Worker
  • Destination Move Packet
  • Direct11
  • GAME Client
  • UE5
  • RPG Game
  • c++
  • Other Character
  • Algorithm Strategies
  • Game Room
  • Game Server
  • session
  • Direct3D

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GameChoi

Choi Programming

[Direct11] 6. Rendering Pipeline - Tessellation & Rasterizer (TS & RS)
C++ Algorithm & Study/Game Math & DirectX 11

[Direct11] 6. Rendering Pipeline - Tessellation & Rasterizer (TS & RS)

2023. 6. 13. 18:06

1. Rendering Pipeline

1.1 Tessellation

 - 한 메시의 삼각형들을 더 잘게 쪼개서 새로운 삼각형들으 만드는 과정

   - 새 삼각형들을 새로운 위치로 이동함으로써 좀 더 세밀한 메시를 만들어 낼 수 있음

1.1.1 Advantage

 - 카메라의 가까운 삼각형들에게 테셀레이션을 적용하여 세부도를 높임

   - 먼 삼각형들인 경우 테셀레이션을 적용하지 않는 방식의 LOD(level-of-detail) 메커니즘을 구현

     - 위 메커니즘을 적용한다면 여분의 세부도가 실제로 눈에 띄는 부분에서만 삼각형들을 더 투여 가능

 - 메모리에는 적은 수의 삼각형들로 이루어진 메시를 담아두고 즉석에서 삼각형들을 추가함으로써 메모리를 적용

 - 애니메이션이나 물리 처리 같은 연산들은 단순한 저다각형 메시에 대해 수행

   - 테셀리에션된 고다각형 메시는 렌더링에서만 사용함으로써 계산량을 줄일 수 있음

1.1.2 Tessellation

 - Direct3D Tessellation은 GPU에서 기하구조를 테셀레이션하는 수단을 제공

   - 테셀레이션 단계는 생략 가능한 단계므로 원할 때만 사용할 수 있음

1.2 Rasterization Stage & Rasterizer Stage

 - 투영된 3차원 삼각형으로부터 픽셀 색상들을 계산

1.2.1 Viewport Transform

 - 절단을 통해 하드웨어는 원근 나누기를 수행하여 동차 절단 공간 좌표를 정규화된 장치 좌표로 변환

   - 2차원 이미지를 형성하는 2차원 x, y 좌표성분들을 후면 버퍼의 한 직사각형 영역으로 변환

1.2.2 후면 선별

 - 하나의 삼각형에는 면이 두개가 존재 (법선과 같은 방향을 향한 면이 앞쪽 면 반대쪽 면이 뒤쪽 면)

   - 앞쪽 면인 경우 시계 방향으로 감기고 뒤쪽 면인 경우 반시계 방향으로 감김

    - 각 물체의 삼각형들은 항상 법선이 물체의 바깥쪽을 향하므로 카메라로 볼 경우 후면 삼각형들이 보이지 않음

      - 전면 삼각형들이 후면 삼각형들을 가리므로 후면 삼각형을 그릴 필요X

        - 따라서 처리해할 삼각형의 수가 절반으로 줄어듬

1.2.3 정점 특성의 보간

 - 뷰포트 변환 이후 정점의 특성들을 삼각형을 덮는 각 픽셀에 대해 보간, 정점 특성들 뿐아니라 깊이 값도 보간

   - 각 픽셀마다 깊이 버퍼링 알고리즘을 위한 깊이 값이 생성, 정점 특성들은 화면 공간에서 보간

     - 삼각형의 면에 따라 보간되는 방식 (원근 보정 보간)

저작자표시 (새창열림)

'C++ Algorithm & Study > Game Math & DirectX 11' 카테고리의 다른 글

[Direct11] 8. Direct3D API Interface & Function #1  (0) 2023.06.14
[Direct11] 7. Rendering Pipeline - Pixel Shader & Output Merger (PS & OM)  (0) 2023.06.13
[Direct11] 5. Rendering Pipeline - Vertex Shader (VS)  (0) 2023.06.13
[Direct11] 4. Rendering Pipeline - Input Assembler (IA)  (0) 2023.06.13
[Direct11] 3. Direct3D EX Application Framework  (0) 2023.06.12
    'C++ Algorithm & Study/Game Math & DirectX 11' 카테고리의 다른 글
    • [Direct11] 8. Direct3D API Interface & Function #1
    • [Direct11] 7. Rendering Pipeline - Pixel Shader & Output Merger (PS & OM)
    • [Direct11] 5. Rendering Pipeline - Vertex Shader (VS)
    • [Direct11] 4. Rendering Pipeline - Input Assembler (IA)
    GameChoi
    GameChoi

    티스토리툴바