컴맹학자 2020. 11. 16. 19:24
728x90

1. Scene 초기화 및 변경

2. Sprite.h 파일

3. Sprite.h 파일 Sprites

4. Sprite.cpp 

생성자

5. Initialize (초기화)

6. 삭제, 출력, 카메라 크기 회전 위치 값 넘기기

7. 크기, 위치, 회전 및 회전값 구하기 -> UpdaeWorld()에 갱신

8. sprites 내용

9. Test Back 이미지용 클래스 만들기

10. Scene

 

11 결과


요약및 정리

2.
역할 : 모든 텍스쳐 이미지, IA, VS , Shader 파일 경로 설정 등
기능 : 1개의 텍스쳐 이미지를 만들어지는 class 객체
빨강색 박스 : 파일 이름, 세이더 파일 받아서 노랑색 박스 칸으로 자동으로 해당 값 옮겨줌
노랑색 박스 : vertexbuffer, indexBuffer , srv 등 기존에 배웠던 uv값 이미지 넘겨주고 받아오고함
하늘색 박스 : 실시간으로 크기, 위치, 회전에 관한 값을 받음
초록색 박스 : Scene (추후변경) 에서 카메라 값을 받아서 그 공간으로 출력하는 역할

3. Sprites (Sprite.h 밑에 같이 정의 되어 있고 Sprite.cpp 정의)
역할 : 파일이름을 받아서 map형식으로 관리 및 , ID3D11ShaderResourceView 갯수를 관리

4. 생성자 생성자 3개이고 안에 내용물은 동일 하기 때문에 1개만 선언

5. Initialize 우리가 배웠던 IA, VS 셋팅, Texture 이미지 담기 등 한번에 처리

6.
빨강색 박스 : 삭제 주황색 박스 : 이미지 크기, 회전, 크기 값을 HLSL 값을 실시간을 넘기는곳
노랑색 박스 : 윈도우 화면의 값을 받음
초록색 박스 : 기존 화면 출력 코드

7.
주황색 박스 : 안에 내부 선언 방식이 마지막 주황 박스랑 같고 최종적으로 UpdateWorld()에 갱신 밑에는 Math.cpp 통해서 라디안, 디그리 값을 교환 및 값을 받는곳 8. sprites 역할 : shaderresourceview 를 map 형식으로 만들기 및 삭제 하는곳

위치는 아직 API 값을 받아서 옮기고 있기 때문에

position 값이 저렇게 사용 하지만 추후엔 0.0 위치에 정가운데 둘 예정

 

실제 그림이 작으면 저렇게 작게 나오기 때문에 이미지 크기 늘리려면 scale에다가 값을 변경

참고 1.0f는 기본 실제 그림값

 

더이상 이미지 선언 및 uv 관련으로 일일이 선언할 필요 없고 Background class처럼 관리 하면 됨