목록C (155)
응애맘마조
4일부터 메쉬(Mesh)에 대해서 강의했었습니다. 4일에는 사각형을 그렸습니다. #include "framework.h" Mesh::Mesh() { vertexType = VertexType::P; primitiveTopology = D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP; vertexCount = 4; byteWidth = sizeof(VertexP); VertexP* Vertex = new VertexP[vertexCount]; indexCount = 5; indices = new UINT[indexCount]; Vertex[0].position = Vector3(0, 0, 1); Vertex[1].position = Vector3(0, 1, 1); Vertex[2].posit..
오늘부터 제대로 프레임워크에 들어갔습니다. 아마 이번주는 구조 부분만 설명하다가 끝날 것 같습니다. 2D때도 많이 봤지만 3D로 넘어오면서 비슷한 점도 있겠지만 많이 달라진 점도 있을 것 같습니다. 구조 끝나고 기능 구현이 시작되면 그때부터 강의를 다시 적겠습니다.
이제부터 프레임워크를 들어가면서 ImGui부터 시작한다고 했습니다. 사용하는 창은 3개이고 윈도우, 콘솔, ImGui가 됩니다.
재귀함수를 끝내고 간단하게 빅오 표기법과 메모장으로 출력을 하는 fstream과 fopen을 강의했습니다. 먼저 빅오 표기법은 알고리즘의 효율성을 위해 표기합니다. 어떤 알고리즘을 수행하는 데 걸리는 시간을 시간 복잡도라고 하고 빅오 표기법으로 시간 복잡도를 표현할 때는 최고차항을 표기합니다. 표기하는 방법은 O(1)이나 O(n)처럼 표기하며 상수시간은 사용자의 컴퓨터 사양에 따라 달라지지만 전부 1로 취급합니다. 배열이나 vector, list를 봤을 때의 빅오 표기법은 배열이나 vector는 임의의 위치에 접근을 할 수 있기 때문에 O(1)이 되지만 list는 임의의 위치에 접근을 할 수 없고 처음 위치부터 가야 하기 때문에 최악의 상황은 마지막 노드에 위치할 수도 있기 때문에 O(n)이 되는 경우도..
과제풀이를 하면서 재귀함수에 대해서 같이 했었습니다. 추가 및 삭제를 하면서 구조체 안에 따로 추가와 제거하는 함수를 따로 만들었습니다. 함수 이름 안에 다시 자신의 함수 이름을 호출하면서 조건문이 false가 될 때까지 계속 반복하도록 하는 함수가 재귀함수입니다. 즉, 정의 단계나 함수 안에서 자신을 다시 호출하는 것입니다. 그래서 추가 및 삭제 함수를 가지고 노드의 뒷부분에 추가 및 삭제하는 함수를 만들었습니다. 실행 영상입니다. 이번엔 어제처럼 이미 사전에 있던 노드가 없이 처음부터 만드는 것으로 했었습니다. 영상처럼 추가 및 삭제가 문제없이 잘 작동됩니다. 아마 내일 임의의 위치에서 추가 및 삭제를 할 것 같습니다. 읽어주셔서 감사합니다.