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

어제의 그리드에 이어서 구체를 그리드 위에 올리는 것에 대해 했었습니다. 어제의 게시글에도 작성을 해뒀지만 각 격자 간의 거리는 1로 해서 어떤 물체가 있던 대략적인 크기를 알 수 있습니다. 이를 이용해서 여러 개의 객체를 만들 수 있으며 노드를 관리했던 것처럼 부모 객체의 SRT를 상속받아 자녀의 노드를 만들어서 움직일 수 있도록 할 수 있습니다. 2D때 과제 중 태양계를 만들 때와 비슷한 느낌입니다. (해당 게시글은 https://keisukeaso.tistory.com/search/%ED%83%9C%EC%96%91 여기를 참고해 주시면 됩니다.) 위의 영상처럼 만들 수 있습니다. 눈에 보이지는 않게 했지만 이 두 구체 사이에는 연결하는 관절 구조가 있습니다. 화면에 직접 보여주기 위해서 코드를 프레..

색상 구를 만들기에 이어 그리드 매쉬를 배웠습니다. 격자로 된 평면 위에 물체가 어느 위치에 있는지 알기 위해 사용합니다. 기준을 알기 위해 대략적인 길이나 스케일을 나타내기 위해 격자로 나누어졌습니다. 항상 원의 반지름이나 정사각형의 변의 길이를 1로 두는데 그리드도 1로 두면 원이나 정사각형을 원하는 비율로 늘리기 쉽고 원하는 크기만큼 바꿀 수 있기 때문에 1로 둡니다. #include "framework.h" Mesh::Mesh() { vertexType = VertexType::PC; primitiveTopology = D3D11_PRIMITIVE_TOPOLOGY_LINELIST; int size = 256; vertexCount = (size + 1) * 4; byteWidth = sizeof(..
이전까지는 정육면체와 구를 그렸지만 입체감이 없어서 카메라를 멀리 하면 특히나 구는 그냥 원처럼 보였습니다. 그래서 넣는 것이 광원입니다. 그리고 그 광원을 표현하기 위해서는 법선이 필요합니다. 이번에는 2D때 했던 점에 색을 다르게 해서 그러데이션을 주고 그것으로 입체감을 주는 것으로 했습니다. 사실 이 기능은 잘 사용하지 않습니다. 포트폴리오 만들 때도 그랬지만 이미지 파일을 주로 사용했기 때문입니다. 이미지도 우리가 평소에 사용하는 파일은 래스터 이미지입니다. 비트맵 형식으로 저장하게 되고 실물 사진에 많이 사용하게 되며 픽셀이 많아질수록 용량이 커지게 됩니다. 또한 이미지를 확대하게 되면 픽셀이 눈에 보일 정도로 깨지게 됩니다. 그래서 주변 색을 인접해 있는 픽셀의 색으로 추정해서 채우게 됩니다...
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..