Skip to content

Commit 3c621d8

Browse files
Example 18 compiles!
1 parent da8f136 commit 3c621d8

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

18.MitsubaLoader/main.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -419,15 +419,12 @@ int main()
419419
return 0.5f*core::length(differentialElementCrossProdcut).x;
420420
};
421421

422-
const auto* mesh_meta = static_cast<const ext::MitsubaLoader::CMitsubaMetadata::CMesh*>(globalMeta->getAssetSpecificMetadata(cpumesh.get()));
423-
const auto instances = mesh_meta->getInstances();
424-
for (size_t i=0u; i<instances.size(); i++)
422+
const auto* mesh_meta = globalMeta->getAssetSpecificMetadata(cpumesh.get());
423+
auto auxInstanceDataIt = mesh_meta->m_instanceAuxData.begin();
424+
for (const auto& inst : mesh_meta->m_instances)
425425
{
426-
const auto& inst = instances.begin()[i];
427-
for (const auto& inst : instances)
428-
sceneBound.addInternalBox(core::transformBoxEx(cpumesh->getBoundingBox(),inst.worldTform));
429-
const auto& aux = mesh_meta->m_instanceAuxData->operator[](i);
430-
if (aux.emitter.type==ext::MitsubaLoader::CElementEmitter::AREA)
426+
sceneBound.addInternalBox(core::transformBoxEx(cpumesh->getBoundingBox(),inst.worldTform));
427+
if (auxInstanceDataIt->frontEmitter.type==ext::MitsubaLoader::CElementEmitter::AREA)
431428
{
432429
core::vectorSIMDf pos;
433430
assert(cpumesh->getMeshBuffers().size()==1u);
@@ -436,11 +433,12 @@ int main()
436433
inst.worldTform.pseudoMulWith4x1(pos);
437434

438435
SLight l;
439-
l.intensity = aux.emitter.area.radiance*area*2.f*core::PI<float>();
436+
l.intensity = auxInstanceDataIt->frontEmitter.area.radiance*area*2.f*core::PI<float>();
440437
l.position = pos;
441438

442439
lights.push_back(l);
443440
}
441+
auxInstanceDataIt++;
444442
}
445443
}
446444

0 commit comments

Comments
 (0)