목록공부 (292)
응애맘마조
오늘은 수학에 대한 개념을 배웠습니다. 아직 정확하게 다 배우지는 않았지만 3D를 하거나 조금 더 나중에 자세하게 배우게 될 예정입니다. 먼저 수학부터 보겠습니다. 좌표에서 스크린까지 나오는 순서는 로컬 좌표 → 월드 좌표 → 뷰 좌표 → 프로젝션 → 스크린 순서입니다. 로컬 좌표는 플레이어 기준으로 아래쪽 가운데 좌표를 (0, 0)으로 잡은 것입니다. (오른쪽은 Right 벡터, 앞은 Look 벡터(3D에서 사용), 위로 가는게 Up 벡터입니다.) 로컬 좌표를 월드 좌표로 변환하기 위해서는 SRT(Scale, Rotation, Translation)을 계산해야됩니다. 위 그림을 현재의 행렬이라고 나타내겠습니다. 먼저 Scale은 크기를 나타냅니다. 해당 표시는 Scale의 행렬입니다. Rotation은..
오늘은 버퍼(Buffer)와 정점(Vertex)에 관한 클래스를 많이 작성했습니다. 코드에 대한 설명은 따로 없었기에 설명 해주시는대로 작성하겠습니다. (아마도 내일이나 늦어도 수요일에는 해주실 것 같습니다.) #include "Renders/Resources/VertexTypes.h" #include "Renders/Resources/ShaderBuffer.h" #include "Renders/Resources/GlobalBuffer.h" #include "Renders/IA/VertexBuffer.h" #include "Renders/IA/IndexBuffer.h" #include "Renders/IA/InputLayout.h" 먼저 Framework.h입니다. 금요일에 올린 파일에서 define 밑..
일주일간 했던 파일입니다. 오늘은 코드에 대한 설명까지 다 해주셔서 내용이 많이 길어질 것 같습니다. 불필요한 부분도 없애고 이전에 썼던 파일에서도 변경된 내용이 있습니다. 먼저 어제 다 쓰다가 말았던 cpp 파일부터 보겠습니다. //Graphics.cpp #include "Framework.h" #include "Graphics.h" void Graphics::Resize(const UINT& width, const UINT& height) { DeleteSurface(); { HRESULT hr = swapChain->ResizeBuffers ( 0, width, height, DXGI_FORMAT_UNKNOWN, 0 ); assert(SUCCEEDED(hr)); } CreateRenderTarget..
어제에 이어서 ImGui에 대해 써보겠습니다. 사실 오늘 이 부분이 끝날 줄 알았는데 써야 되는 코드가 많다 보니 설명은 내일 해주신다고 했습니다. 오늘은 코드가 들어갑니다. //Framework #pragma once #include #include #include #include #include #include #include #include using namespace std; //순서 중요 //DirectX #include #include #include #include #pragma comment(lib, "dxgi.lib") #pragma comment(lib, "d3d11.lib") #pragma comment(lib, "d3dx11.lib") #pragma comment(lib, "d3dx..
DirectX 2D에 들어가기 앞서 오늘은 설정만 하다가 주로 끝났습니다. 실무에서는 이미 만들어져 있거나 쓰이지 않지만 공부하는 입장에서는 반드시 필요하기에 중요하고 필요한 부분만 적어두겠습니다. 먼저 오늘은 Imgui에 대해서 배웠습니다. ImGui에 대해 간단하게 설명하자면 그래픽 값을 바꿔주는 인터페이스라고 볼 수 있습니다. 전에 만들었던 플래피 버드(Flappy Bird)를 가지고 어떤 값을 바꿀지는 아마 내일 듣게 될 것 같습니다. 코드 수정 부분은 stdafx.h에서 Framework.h로 바꾼 부분의 include 부분이 많은 부분이 추가되었습니다. #pragma once #include #include #include #include #include #include #include #in..