예제 #1
0
      void SceneTree::update(dp::sg::core::CameraSharedPtr const& camera, float lodScaleRange)
      {
        // for now it is important to update the transform tree first to clear the DIRTY_TRANSFORM bit
        {
          dp::util::ProfileEntry p("Update TransformTree");
          updateTransformTree(camera);
        }

        {
          dp::util::ProfileEntry p("Update ObjectTree");
          updateObjectTree(camera, lodScaleRange);
        }
      }
예제 #2
0
      void SceneTree::update( dp::sg::ui::ViewStateSharedPtr const& vs )
      {
        ObjectTreeIndexSet dirtyGeoNodes;
        m_geoNodeObserver->popDirtyGeoNodes(dirtyGeoNodes);
        for ( ObjectTreeIndexSet::const_iterator it = dirtyGeoNodes.begin(); it != dirtyGeoNodes.end(); ++it )
        {
          drawableInstanceUpdate( *it );
        }

        {
          dp::util::ProfileEntry p("Update TransformTree");
          updateTransformTree( vs );
        }

        {
          dp::util::ProfileEntry p("Update ObjectTree");
          updateObjectTree( vs );
        }
      }