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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GameChoi

Choi Programming

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

[Direct11] 26. Direct3D Compute Shader

2023. 6. 21. 19:11

1. Direct3D Compute Shader

1.1 Compute Shader

1.1.1 Compute Shader

 - GPU는 하나의 장소 & 연속된 장소들에 대량의 메모리를 읽어서 처리하는 작업에 최적화

   - 임의 메모리 접근을 염두에 두고 설계된 CPU와 대조적인 특징

   - 정점들과 픽셀들이 개별적으로 처리된다는 특징 때문에 GPU는 대규모 벙렬 처리에 맞게 설계

 - Compute Shader는 Direct3D가 저공하는 프로그램 기능 셰이더

   - 렌더링 파이프라인에 직접 포함되어 있는 것이 아닌 옆에 존재, GPU 자원에서 직접 자료를 읽거나 기록 가능

1.1.2 Thread & Thread Group

 - GPU 프로그래밍에서 작업을 실행할 다수의 스레드들이 스레드 그룹들로 묶여 일종의 격자를 형성

   - 하나의 스레드 그룹은 하나의 다중처리기에서 실행, 각 스레드 그룹 마다 공유 메모리를 가짐

     - 하나의 스레드 그룹은 여러 개의 스레드들로 이루어짐

 - 밑의 코드를 통해 Direct3D 스레드 그룹을 실행할 수 있음

void ID3D11DeviceContext::Dispatch;

1.1.3 Compute Shader Program

 - 크기가 같은 두 Texture의 합을 구하는 계산 셰이더

   - CPU 데이터로 부터 전달된 두 Texture의 Vector를 입력 자원, 두 Texture의 합을 구하고 출력하는 출력 자원 생성

StructuredBuffer<Data> gInputA; StructuredBuffer<Data> gInputB;
RWStructuredBuffer<Data> gOutput;

   - 스레드 그룹 하나의 스레드 개수와 구성

[numthreads(32, 1, 1)]
void CS(int3 dtid : SV_DispatchThreadID)
{
	gOutput[dtid.x].v1 = gInputA[dtid.x].v1 + gInputB[dtid.x].v1;
	gOutput[dtid.x].v2 = gInputA[dtid.x].v2 + gInputB[dtid.x].v2;
}
저작자표시 (새창열림)

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

[Direct11] 28. Direct3D Compute Shader - Blur System  (0) 2023.06.21
[Direct11] 27. Direct3D Compute Shader - I/O Resource  (0) 2023.06.21
[Direct11] 25. EX App Program - Billboard  (0) 2023.06.20
[Direct11] 24. Direct3D Geometry Shader  (0) 2023.06.20
[Direct11] 23. EX App Program - Mirror  (0) 2023.06.19
    'C++ Algorithm & Study/Game Math & DirectX 11' 카테고리의 다른 글
    • [Direct11] 28. Direct3D Compute Shader - Blur System
    • [Direct11] 27. Direct3D Compute Shader - I/O Resource
    • [Direct11] 25. EX App Program - Billboard
    • [Direct11] 24. Direct3D Geometry Shader
    GameChoi
    GameChoi

    티스토리툴바