MCPcopy Create free account
hub / github.com/KTStephano/StratusGFX / InitQuad_

Method InitQuad_

Source/Engine/StratusResourceManager.cpp:949–978  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

947 }
948
949 void ResourceManager::InitQuad_() {
950 quad_ = CreateRenderEntity();
951 RenderComponent * rc = quad_->Components().GetComponent<RenderComponent>().component;
952 MeshPtr mesh = Mesh::Create();
953 rc->meshes->meshes.push_back(mesh);
954 rc->meshes->transforms.push_back(glm::mat4(1.0f));
955 MaterialPtr mat = MaterialManager::Instance()->CreateDefault();
956 rc->AddMaterial(mat);
957
958 const size_t quadStride = 14;
959 const size_t quadNumVertices = quadData.size() / quadStride;
960
961 for (size_t i = 0, f = 0; i < quadNumVertices; ++i, f += quadStride) {
962 mesh->AddVertex(glm::vec3(quadData[f], quadData[f + 1], quadData[f + 2]));
963 mesh->AddNormal(glm::vec3(quadData[f + 3], quadData[f + 4], quadData[f + 5]));
964 mesh->AddUV(glm::vec2(quadData[f + 6], quadData[f + 7]));
965 // rmesh->AddTangent(glm::vec3(quadData[f + 8], quadData[f + 9], quadData[f + 10]));
966 // rmesh->AddBitangent(glm::vec3(quadData[f + 11], quadData[f + 12], quadData[f + 13]));
967 }
968
969 mesh->SetFaceCulling(RenderFaceCulling::CULLING_NONE);
970 mesh->CalculateAabbs(glm::mat4(1.0f));
971 pendingFinalize_.insert(std::make_pair("DefaultQuad", Async<Entity>(quad_)));
972
973 // rmesh->GenerateCpuData();
974 // rnode->AddMeshContainer(RenderMeshContainer{rmesh, mat});
975 // rmesh->SetFaceCulling(RenderFaceCulling::CULLING_NONE);
976 // _pendingFinalize.insert(std::make_pair("DefaultQuad", Async<Entity>(_quad)));
977 // _quad->SetRenderNode(rnode);
978 }
979}

Callers

nothing calls this directly

Calls 8

CreateRenderEntityFunction · 0.85
CreateDefaultMethod · 0.80
AddMaterialMethod · 0.80
AddVertexMethod · 0.80
AddNormalMethod · 0.80
AddUVMethod · 0.80
SetFaceCullingMethod · 0.80
CalculateAabbsMethod · 0.80

Tested by

no test coverage detected