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
  • job queue
  • protobuf
  • Game Server
  • session
  • server
  • Destination Move Packet
  • c++
  • core
  • Network Worker
  • UE5
  • Algorithm Strategies
  • GAME Client
  • Direct3D
  • Player State
  • Direct11
  • Other Character
  • Game Room
  • RPG Game
  • Player Move Packet

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GameChoi

Choi Programming

[Direct11] 24. Direct3D Geometry Shader
C++ Algorithm & Study/Game Math & DirectX 11

[Direct11] 24. Direct3D Geometry Shader

2023. 6. 20. 17:40

1. Direct3D

1.1 Geometry Shader

1.1.1 Geometry Shader

 - 테셀레이션 단계를 사용하지 않는다고 할 때, Vertex & Pixel Shader 단계 사이에 있는 생략 가능 단계

   - 정점 셰이더는 개별 정점들을 입력받는 반면 기하 셰이더는 온전한 기본 도형을 입력 받음

     - 한 삼각형의 정점 세 개를 입력받아 기본도형들의 목록을 출력, 기하구조를 새로 생성 및 파괴 가능

       - 하나의 입력 기본도형을 여러 개의 다른 기본도형들로 확장, 주어진 조건에 따라 특정 기본 도형 폐기

         - 하나의 점으로부터 사각형으로 확장

 - 기하 셰이더의 프로그램을 작성할 때 기하 셰이더의 한 실행에서 출력할 정점들의 최대 개수를 지정

   - 최대 정점 개수 특성을 지정, 숫자의 의미는 한 번의 실행에서 출력할 최대 정점 개수

[maxvertexcount(4)]

   - 두 종류의 매개변수를 받는데 하나는 입력 매개변수, 하나는 출력 매개변수

     - 입력 매개변수는 항상 기본도형을 정의하는 정점들의 배열, 기하 셰이더가 받는 기본도형의 키워드를 붙여야 함

point, line, triangle, lineadj, triangleadj

     - 출력 매개변수는 항상 스트림 형식, 기하 셰이더가 출력하는 기본도형을 정의하는 정점들의 목록을 담음

     - 출력 스트림 목록에 정점을 추가할 때 함수 적용

       - 스트림 형식은 템플릿 형식으로 출력 정점의 정점 형식을 지정

void StreamOutputObject<OutputVertexType>::Append(OutputVertexType v);
PointStream<OutputVertexType>, LineStream<OutputVertexType>, TriangleStream<OutputVertexType>

 - 위의 모든 방식을 참조하여 기하 셰이더를 생성한 값은 밑의 코드 참조

[maxvertexcount (4)] void GS(line VertexOut gin[2], inout TriangleStream<GeoOut> triStream);
저작자표시 (새창열림)

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

[Direct11] 26. Direct3D Compute Shader  (0) 2023.06.21
[Direct11] 25. EX App Program - Billboard  (0) 2023.06.20
[Direct11] 23. EX App Program - Mirror  (0) 2023.06.19
[Direct11] 22. Direct3D Stencil  (0) 2023.06.19
[Direct11] 21. EX App Program - Fog System  (1) 2023.06.17
    'C++ Algorithm & Study/Game Math & DirectX 11' 카테고리의 다른 글
    • [Direct11] 26. Direct3D Compute Shader
    • [Direct11] 25. EX App Program - Billboard
    • [Direct11] 23. EX App Program - Mirror
    • [Direct11] 22. Direct3D Stencil
    GameChoi
    GameChoi

    티스토리툴바