목록공부 (292)
응애맘마조
플레이어가 이동함과 동시에 카메라가 따라오게 하는 것이 과제였습니다. 단, 같이 따라오지 않고 플레이어가 이동했을 때 그 이동에 맞춰서 따라오게 이동 시키는 것이었습니다. //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { player.SetWorldPos(Vector2(0.0f, 0.0f)); player.scale = Vector2(80.0f, 80.0f); player.rotation = 0.0f; player.isAxis = true; player.isFilled = true; player.isVisible = true; player.color = Color(0.5f, 0.0f, 0.0f, 1.0f); player.pivot ..
오늘부터 이틀간 카메라 이동에 대해서 배우게 되었습니다. 카메라 시점의 이동이 어떻게 변화하느냐에 따라 게임 품질과 역동성이 강조가 된다고 합니다. 먼저 다시 중요하게 필요했던 변수에 대해 작성하겠습니다. 변수로 메모리 할당에는 두가지 방법이 있습니다. 동적 생성과 지역 변수를 사용하는 방법입니다. 동적 생성은 사용자가 필요할 때 생성되고 필요 없을 때 해제 하는 방법입니다. 지역 변수는 선언 되었을 때 생성하고 메인 함수가 없어질 때 일괄적으로 해제가 됩니다. (지역 변수의 주기는 자동 주기입니다.) 사용하고 난 메모리는 계속 할당되어있을 필요가 없기 때문에 delete 함수를 사용하여 해제를 하는데 해제를 두 번 이상 하게 되면 프로그램 창을 닫았을 때 액세스 위반이 나게 됩니다. 이미 해제했던 메모..

DirectX를 하게 되면서 그래픽을 구현할 때 삼각형으로 그리게 됩니다. 그것을 사용해서 별을 그리는 것이 과제였습니다. #include "framework.h" ID3D11Buffer* ObStar::fillVertexBuffer = nullptr; ID3D11Buffer* ObStar::vertexBuffer = nullptr; void ObStar::CreateStaticMember() { VertexPC* Vertex; Vertex = new VertexPC[5 * 3]; for (UINT i = 0; i < 5; i++) { Vertex[i * 3].position.x = 0.0f; Vertex[i * 3].position.y = 0.0f; Vertex[i * 3].color = Color(1..
어제 말했던 대로 VS에 들어갔습니다. 오늘이 가장 어렵다고 하네요. IA에서 VS로 넘겨주게 될 때 position과 color값을 넘기게 됩니다. 이 사이에 넘겨주는 값을 InputLayout이라고 했습니다. struct VertexInput { float4 position : POSITION0; float4 color : COLOR0; }; float4는 float이 4개 붙어있다고 보시면 됩니다. (4Byte × 4 = 16Byte로 볼 수 있습니다.) 위의 코드에서 POSITION0, COLOR를 시맨틱(semantic)이라고 하고 용도를 나타냅니다. Layout에서 넣은 값들을 IA출력으로 넘기고 그게 VS의 입력으로 들어갑니다. D3D11_INPUT_ELEMENT_DESC는 VS에 들어온 원..