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

Method InitCube_

Source/Engine/StratusResourceManager.cpp:919–947  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected