목록공부/3D과제 (42)
응애맘마조
카메라를 이동해도 끝이 나지 않고 계속 이어지는 그리드를 그리는 것이 과제였습니다. 이번에는 그리드를 클래스로 따로 만들었습니다. //Grid.h #pragma once //특수하게 움직이는 액터 class Grid : public Actor { public: static Grid* Create(string name = "Grid"); private: Grid(); virtual ~Grid(); public: voidUpdate() override; voidRelease() override; }; Grid.h입니다. //Grid.cpp #include "framework.h" Grid* Grid::Create(string name) { Grid* temp = new Grid(); temp->mesh = ..
RGB 색상표처럼 자연스러운 색상으로 되어있는 구체를 만드는 것이 과제였습니다. #include "framework.h" Mesh::Mesh() { vertexType = VertexType::PC; primitiveTopology = D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST; int seta = 360; int pi = 180; vertexCount = seta * pi; indexCount = vertexCount * 6; byteWidth = sizeof(VertexPC); VertexPC* Vertex = new VertexPC[vertexCount]; indices = new UINT[indexCount]; for (int i = 0; i < pi; i++) { for..
구체를 그리는 것이 과제였습니다. #include "framework.h" Mesh::Mesh() { vertexType = VertexType::P; primitiveTopology = D3D11_PRIMITIVE_TOPOLOGY_POINTLIST; vertexCount = 360 * 180; byteWidth = sizeof(VertexP); VertexP* Vertex = new VertexP[vertexCount]; indexCount = 360 * 180; indices = new UINT[indexCount]; for (int i = 0; i < 180; i++) { for (int j = 0; j < 360; j++) { Vertex[i * 360 + j].position = Vector3(..
강의 때 사각형을 그렸는데 그것과 점 8개를 만들어 큐브를 그려 사람을 그리는 것이 과제였습니다. 곡선은 그리는 방법을 몰라 그림판으로 그렸습니다.
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 동적할당 및 해제에 대해서는 https://keisukeaso.tistory.com/121 게시글을 참고해 주시면 됩니다. 댕글링 포인터는 허상 포인터라고도 하며 유효한 적절한 객체를 가리키고 있지 않은 포인터입니다. 이미 할당이 해제된 메모리를 가리키는 포인터가 댕글링 포인터라고 할 수 있습니다. 따라서 댕글링 포인터가 존재하면 전체적인 프로그래밍 진행에 문제가 될 수 있고 이러한 문제를 해결하기 위해서는 해제가 되었다면 NULL 값으로 초기화해 주는 거나 위에 적은 동적할당으로 해서 매개변수로 받거나 매크로를 사용하는 것이 좋습니다. 매크..