목록DirectX3D (93)
응애맘마조
어제 인스턴싱을 하고 오늘은 그걸 GUI에서 할 수 있도록 했습니다. void Mesh::RenderDetail() { if (ImGui::Button("InstanceEdit")) { GUI->mesh = this; } } void Mesh::InstanceEdit() { string instanceCount = to_string(this->instanceCount); ImGui::Text(instanceCount.c_str()); for (int i = 0; i instanceCount; i++) { ImGui::Text("X: %f Y: %f Z: %f", instance[i]._14 , instance[i]._24, instance[i]._34); string instanceCoun..
인스턴싱에 대해서 강의했습니다. 많은 오브젝트가 화면에 표시되면 FPS가 많이 떨어지게 되는데 같은 메쉬파일을 하나로 묶음으로써 드로우콜을 한 번만 하여 FPS를 많이 떨어뜨리지 않는 것입니다. enum class VertexType { P, PC, PCN, PTN, MODEL, TERRAIN, PT, PS, PSV, PSP, PCNI, }; 먼저 enum class로 마지막에 PCNI를 추가했습니다. PCN에 Instance를 추가했다는 의미입니다. struct VertexPCNI { static D3D11_INPUT_ELEMENT_DESC LayoutDesc[]; }; 그리고 레이아웃만 추가됩니다. D3D11_INPUT_ELEMENT_DESC VertexPCNI::LayoutDesc[] = { { "..
강의라고 해도 현재 작업중인 포폴 작업을 이어서 하고 상담이 진행되어서 따로 수업 내용은 없습니다. 18일은 학원 휴무였습니다. 내일은 인스턴싱에 대해서 배우게 됩니다.
개인적인 일정 때문에 하루 늦었습니다. 시험만 치뤘기 때문에 따로 강의는 없었습니다.
그림자를 마무리 지었으며 LookAt함수를 이전에 사용한 YawPitchRoll을 사용해 바라보는 방향을 고정시킬 수 있도록 했습니다. Matrix R = Matrix::CreateLookAt(player->GetWorldPos(), sphere->GetWorldPos(), Vector3(0, 1, 0)); R = R.Transpose(); Quaternion q = Quaternion::CreateFromRotationMatrix(R); player->rotation = Util::QuaternionToYawPtichRoll(q); Matrix R은 전치행렬로 만들어진 뷰행렬이고 그 Matrix를 Quaternion으로 변환하고 YawPitchRoll로 변환했습니다. #include "Common.hl..