목록C++ (208)
응애맘마조

오늘 강의를 작성하기 전에 오타 난 부분을 알려드리겠습니다. //VertexBuffer.h count = vertices.size(); //Rect.h vector indices; Matrix world; Matrix S, R, T; VertexBuffer.h 파일의 코드에 오타가 있었습니다. (해당 일자의 내용에서는 수정했습니다.) Rect.h 파일에서 vector 부분과 Matrix를 D3DMATRIX라고 잘못 쓴 부분이 있었습니다. (해당 일자의 내용에서는 수정했습니다.) 거의 스크린 창에 띄우기까지 다 왔습니다. Unitest 솔루션에도 많은 작성이 있었습니다. 오늘 내용을 정리하겠습니다. //VertexColor.hlsl struct VetrtexInput { float4 position : P..

오늘은 수학에 대한 개념을 배웠습니다. 아직 정확하게 다 배우지는 않았지만 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..