DirectX/DirectX 2D

정리 & Plug in

컴맹학자 2022. 11. 26. 19:34
728x90

기존 hlsl 쉐이더 파일에서 fx 변경및 전용 클래스에 변경점과 Shader 파일에서도 c++에서 사용되는 자동 완성 기능 plug in 다운 및 간단한 여태까지 배운 내용 정리

 

1. Shader 클래스 & fx 파일 사용 으로 인한 변화

1. 기존에 hlsl 파일로 사용한 경우 RS 단계 옵션 설정 부분을 오로지 c++ 에서만 했던 부분을 이제 fx 통해서 gpu 영역에서 수정 할 수 있다.


2. cpu 영역과 gpu 영역에 따른 연결 및 각종 선언 부분은 Shader 클래스 통해서 간략하게 사용 할 수 있도록 변경 되엇다.

device, scene 클래스에 정의된 gpu 영역 관련 부분을 Shader 클래스통해서 관리


3. 기존에 SemanticName이름 및 인덱스 번호를 사용 규칙 때문에 대문자 제한 받았던 부분을 fx 통해서는 꼭 필요한 선언 부분 제외 하고선 대소문자 구분이 사라졌다.

※ 참고 Color 부분은 지금은 flost3로 받았지만 왠만하면 2, 4 등 짝수 형태로 받아야 한다 (수정)


4. fx 파일에서 technique 라는 부분이 있는데 c++ 에서 쉐이더 결과값을 blob을 통해서 저장하고 출력 했지만 아예 gpu 에서 백 버퍼에 그려줌 또한 각 Pass 번호를 통해서 vs,ps 계산 처리 결과를 선택해서 사용

technique : 출력 관련 관리
pass : vs, ps 처리하는 방식


2. Plug in 설치

각종 외부 Plug in 설치 부분

 

Extensions -> Manage Extensions

 

왼쪽 Online 옵션 클릭 -> hlsl tool 검색 -> HLSL Tools for Visual Studio 설치 후 종료후 다시 시작

 

정상적으로 설치하면 fx 파일에 semantic 이름 부분에 올려두면 툴팁이 나오면 성공


3. 간단한 정리

1. 현재 Main() 함수 시작 지점은 Device.cpp 이다.

2. 계산하기 빠르게 하기 위해 Vertex Buffer 방식이 아닌 IndexBuffer로 사용

3. dx에서 그리는 최소 단위는 삼각형 이고 명칭은 폴리곤 이라고 부름

4. dx에서 그리는 방식은 시계방향이다.

5. RasterizerState 현재는 C++ 에서 사용하지만 추후엔 fx통해서 변경 예정

6. gpu와연결 하는데 사용하는 각종 Vsblon, Inputlayout등 관련 선언 관리 해주는 Shader 클래스를 만듬 

'DirectX > DirectX 2D' 카테고리의 다른 글

DX2D_09 WVP  (0) 2022.12.01
DX2D_08 ImGui  (0) 2022.11.27
DX2D_07 Librarie 및 Utilitie  (0) 2022.11.24
DX2D_06 IndexBuffer  (2) 2022.11.22
DX2D_05 정점 Update  (0) 2022.11.19