| 917 | }; |
| 918 | |
| 919 | void ResourceManager::InitCube_() { |
| 920 | cube_ = CreateRenderEntity(); |
| 921 | RenderComponent * rc = cube_->Components().GetComponent<RenderComponent>().component; |
| 922 | MeshPtr mesh = Mesh::Create(); |
| 923 | rc->meshes->meshes.push_back(mesh); |
| 924 | rc->meshes->transforms.push_back(glm::mat4(1.0f)); |
| 925 | MaterialPtr mat = MaterialManager::Instance()->CreateDefault(); |
| 926 | rc->AddMaterial(mat); |
| 927 | |
| 928 | const size_t cubeStride = 14; |
| 929 | const size_t cubeNumVertices = cubeData.size() / cubeStride; |
| 930 | |
| 931 | for (size_t i = 0, f = 0; i < cubeNumVertices; ++i, f += cubeStride) { |
| 932 | mesh->AddVertex(glm::vec3(cubeData[f], cubeData[f + 1], cubeData[f + 2])); |
| 933 | mesh->AddNormal(glm::vec3(cubeData[f + 3], cubeData[f + 4], cubeData[f + 5])); |
| 934 | mesh->AddUV(glm::vec2(cubeData[f + 6], cubeData[f + 7])); |
| 935 | // rmesh->AddTangent(glm::vec3(cubeData[f + 8], cubeData[f + 9], cubeData[f + 10])); |
| 936 | // rmesh->AddBitangent(glm::vec3(cubeData[f + 11], cubeData[f + 12], cubeData[f + 13])); |
| 937 | } |
| 938 | |
| 939 | mesh->CalculateAabbs(glm::mat4(1.0f)); |
| 940 | pendingFinalize_.insert(std::make_pair("DefaultCube", Async<Entity>(cube_))); |
| 941 | |
| 942 | // rmesh->GenerateCpuData(); |
| 943 | // rnode->AddMeshContainer(RenderMeshContainer{rmesh, mat}); |
| 944 | // rmesh->SetFaceCulling(RenderFaceCulling::CULLING_CCW); |
| 945 | // _pendingFinalize.insert(std::make_pair("DefaultCube", Async<Entity>(_cube))); |
| 946 | // _cube->SetRenderNode(rnode); |
| 947 | } |
| 948 | |
| 949 | void ResourceManager::InitQuad_() { |
| 950 | quad_ = CreateRenderEntity(); |
nothing calls this directly
no test coverage detected