MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / visualize

Method visualize

physx/source/physx/src/NpScene.cpp:1418–1495  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1416}
1417
1418void NpScene::visualize()
1419{
1420 NP_READ_CHECK(this);
1421
1422 PX_PROFILE_ZONE("NpScene::visualize", getContextId());
1423
1424 mRenderBuffer.clear(); // clear last frame visualizations
1425
1426#if PX_ENABLE_DEBUG_VISUALIZATION
1427 if(getVisualizationParameter(PxVisualizationParameter::eSCALE) == 0.0f)
1428 return;
1429
1430 Cm::RenderOutput out(mRenderBuffer);
1431
1432 // Visualize scene axis
1433 const PxReal worldAxes = getVisualizationParameter(PxVisualizationParameter::eWORLD_AXES);
1434 if (worldAxes != 0)
1435 out << Cm::DebugBasis(PxVec3(worldAxes));
1436
1437 // Visualize articulations
1438 for(PxU32 i=0;i<mArticulations.size();i++)
1439 static_cast<NpArticulation *>(mArticulations.getEntries()[i])->visualize(out, this);
1440
1441 // Visualize rigid actors and rigid bodies
1442 PxRigidActor*const* rigidActors = mRigidActors.begin();
1443 const PxU32 rigidActorCount = mRigidActors.size();
1444
1445 for(PxU32 i=0; i < rigidActorCount; i++)
1446 {
1447 PxRigidActor* a = rigidActors[i];
1448 if (a->getType() == PxActorType::eRIGID_DYNAMIC)
1449 static_cast<NpRigidDynamic*>(a)->visualize(out, this);
1450 else
1451 static_cast<NpRigidStatic*>(a)->visualize(out, this);
1452 }
1453
1454 // Visualize pruning structures
1455 const bool visStatic = getVisualizationParameter(PxVisualizationParameter::eCOLLISION_STATIC) != 0.0f;
1456 const bool visDynamic = getVisualizationParameter(PxVisualizationParameter::eCOLLISION_DYNAMIC) != 0.0f;
1457 //flushQueryUpdates(); // DE7834
1458 if(visStatic && mSQManager.get(PruningIndex::eSTATIC).pruner())
1459 mSQManager.get(PruningIndex::eSTATIC).pruner()->visualize(out, PxU32(PxDebugColor::eARGB_BLUE));
1460 if(visDynamic && mSQManager.get(PruningIndex::eDYNAMIC).pruner())
1461 mSQManager.get(PruningIndex::eDYNAMIC).pruner()->visualize(out, PxU32(PxDebugColor::eARGB_RED));
1462
1463 if(getVisualizationParameter(PxVisualizationParameter::eMBP_REGIONS) != 0.0f)
1464 {
1465 out << PxTransform(PxIdentity);
1466
1467 const PxU32 nbRegions = mScene.getNbBroadPhaseRegions();
1468 for(PxU32 i=0;i<nbRegions;i++)
1469 {
1470 PxBroadPhaseRegionInfo info;
1471 mScene.getBroadPhaseRegions(&info, 1, i);
1472
1473 if(info.active)
1474 out << PxU32(PxDebugColor::eARGB_YELLOW);
1475 else

Calls 15

DebugBasisClass · 0.85
DebugBoxClass · 0.85
getScenePvdClientMethod · 0.80
getContextIdFunction · 0.50
PxVec3Class · 0.50
PxTransformClass · 0.50
clearMethod · 0.45
sizeMethod · 0.45
getEntriesMethod · 0.45
beginMethod · 0.45
getTypeMethod · 0.45

Tested by

no test coverage detected