전체 글 119

Matrix (회전, 크기, 위치 )

게임에서 회전 크기 위치 관련을 사용을 할 때 행열을 사용하는데 기본적인 행렬 상태는 이렇게 되어 있다. 중요한 건 이 행렬의 위치마다 각각의 값이 적용되는데 살펴보면 크기 더보기 크기의 행열을 보면 대각선으로 알 수가 있는데 여기서 크기에서 제일 중요한 점은 절대로 0이 들어가면 안되는데 그 이유는 크기가 0이면 그림이 안보이기 때문이다. 그렇기 때문에 맨처음 D3DXMATRIX 변수를 D3DXMatrixIdentity 해당 함수로 초기화 시키는 이유가 크기 부분에 1로 초기화 기본 상태로 만들어 놓고 world 값을 조합한다 아래 그림으로 예시를 보면 (2D 이기 떄문에 Z값은 1로 고정한다) 보시다 싶이 X, Y만 변경이 된다 위치 더보기 위치는 아래 41, 42, 43 으로 X, Y, Z 값으로 ..

DirectX/보충 2020.12.21

DX_Keyboard

키보드 이벤트에 관한 내용을 class 만들어서 어디서든 키보드 이벤트에 관한 내용을 사용 할 수 있도록 만듬 Keyboard 더보기 Keyboard.cpp #include "stdafx.h" #include "Keyboard.h" Keyboard::Keyboard(){ for (int i = 0; i < KEYMAX; i++) { up.set(i, false); down.set(i, false); } } Keyboard::~Keyboard(){ } //키보드를 입력 했을때 bool Keyboard::Down(int key) { if (GetAsyncKeyState(key) & 0x8000) { if (down[key] == false) { down.set(key, true); return true; }..

Vertex 좌표, Texture좌표(UV 좌표)

버텍스 좌표 : 화면에 그려줄 좌표 텍스쳐 좌표 : 텍스쳐 이미지의 좌표 위에 두개의 내용으로만 보면 이해가 안될수도 있는데.. 1. 버텍스 좌표계 우선 버텍스 좌표는 우리가 출력하는 디바이스 화면에서 그려줄 각각의 정점을 찍어서 그림을 그리기 위한 좌표이다. 예시로 정사각형을 그려보자면 vertics[0].position = D3DXVECTOR3(-0.5f, -0.5f, 0.0f); // 0 vertics[1].position = D3DXVECTOR3(-0.5f, +0.5f, 0.0f); // 1 vertics[2].position = D3DXVECTOR3(+0.5f, -0.5f, 0.0f); // 2 vertics[3].position = D3DXVECTOR3(+0.5f, +0.5f, 0.0f); /..

DirectX/보충 2020.12.20

DX_카메라 (고정, 자유)

Freedom : 자유 롭게 움직이면서 출력하는 용도 Following : 오브젝트에 상속해서 사용을 하면 해당 오브젝트를 따라 움직임 IFollowing.h : Following 통해서 상속받은 객체는 Focus()함수를 통해서 시야값을 넣어줘야함 Camera class : Freedom , Following class 의 카메라의 View 와 위치를 생성 하는 클래스 변경 사항 Device.cpp , h 파일은 이제 더이상 건들지 않기 때문에 System 폴더 및 필터로 변경 추가 사항 Viewer 새필터, 폴더 생성후 오로지 카메라 관련된 내용 1. Camera.cpp , h 파일 Following, Freedom의 부모 클래스 및 View 관련 내용 선언 사용 주요 목적 : 자유 카메라 였다가 고..

DX_ Clip, Animation

기존에 그린 Background , Rect class 들은 Object 파일및 , 새필터로 만들어서 그림 객체 별도 관리 Sprite : 하나씩 그림을 잘라서 보관 및 Clip에 map 값 보내줌 Clip : 여러 그림을 순서대로 관리 및 정의 하는곳 (ex 이동, 대기, 점프 모션에 필요한 그림을 따로따로 저장) Animation : Clip에 있는 내용을 시간을 줘서 움직이게 보여주는 클래스 1 : 새필터, 폴더 및 적용후 옮기기 2 : Clip.h , Clip.cpp 에다가 각각 적용 역할 : 이미지와 진행 하는 시간 값을 받는곳 3 : Clip.h 정의 및 선언 빨강색 박스 : 위에 2번 그림의 값을 받아서 Vector 형식으로 한번에 묶어서 저장할 공간 4: 생성자 및 크기, 위치, 회전 정의..

DX_Sprite

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 ..

DX_Shader 셋팅

1. Scene.cpp 초기화전 2. Effect.fx 작성 3. Renders 필터안에 Rect cpp, h 파일 선언 및 h파일 작성 4.Rect cpp 5. Scene.cpp 셋팅 및 출력 정리 및 요약 1. Effect.fx 파일안에 RasterizerState 영역은 전에 배운 RS 관련 그림그리는 형식을 셰이더 형식으로 변경한 방식 (추후 RS, blend 관련 내용도 여기서 다룰 예정) 2. 위에 있는 6번 Scene.cpp 보면 다른 클래스에서 작성한 내용을 출력 형식으로만 사용 (추후 카메라 관련 만들예정) 3. W,V,P는 위치를 0. 0 에다가 두면 정 가운데가 아닌 왼쪽 하단에 그림이 짤린 형식으로 출력 (추후 수정)

DX 새로 셋팅

--------------------수정 및 변경--------------------------- 초기화 및 기존 main.cpp , window.cpp, DX 함수 초기화 관련 내용, ->Device.cpp 로 변경 출력, 텍스쳐, 각종 셋팅 Execute.cpp -> Scene.cpp 로 변경 셰이더 관련 각정 선언문 shader.cpp로 파일 이름만 받으면 접근 할수 있도록 변경 Shader 파일 이름 Effect.fx 변경 --------------------추가--------------------------- String.cpp : wstring -> string / string -> wstring 변경 가능 하게 만듬 KeyBoard.cpp : 키보드 관련 이벤트가 모이는곳 ----------..