INNER CODE UNIT · C++
projected
vectozavr/3dzavr · engine/Engine.cpp:30
auto projected = camera->project(*triangleMesh);
std::shared_ptr<Material> material = triangleMesh->getMaterial();
bool isTransparent = material->isTransparent();
if(!isTransparent) {
for(const auto& [projectedTriangle, triangle]: projected) {
_projectedOpaqueTriangles.emplace_back(projectedTriangle, triangle, material.get());
}
} else {
for(const auto& [projectedTriangle, triangle]: projected) {
_projectedTranspTriangles.emplace_back(projectedTriangle, triangle, material.get());
}
}
}
auto lineMesh = obj->getComponent<LineMesh>();
if(lineMesh) {
auto projectedLines = camera->project(*lineMesh);